incubator-uniffle icon indicating copy to clipboard operation
incubator-uniffle copied to clipboard

[#1373][part-1] add PartitionServerInfo for ShuffleHandleInfo to split partition server

Open xumanbu opened this issue 1 year ago • 6 comments

What changes were proposed in this pull request?

1、add PartitionServerInfo 2、Map<Integer, List<ShuffleServerInfo>> partitionToServers chang to Map<Integer, List<PartitionServerInfo>> partitionToServers

Why are the changes needed?

Fix: #1373

Does this PR introduce any user-facing change?

No.

How was this patch tested?

Existing UT

xumanbu avatar Jan 06 '24 03:01 xumanbu

Codecov Report

Attention: 64 lines in your changes are missing coverage. Please review.

Comparison is base (3b0cbb9) 53.23% compared to head (7c7d6a4) 54.67%. Report is 21 commits behind head on master.

Files Patch % Lines
...uniffle/storage/factory/ShuffleHandlerFactory.java 0.00% 19 Missing :warning:
...org/apache/uniffle/common/PartitionServerInfo.java 26.31% 14 Missing :warning:
...niffle/client/impl/grpc/CoordinatorGrpcClient.java 0.00% 8 Missing :warning:
...ge/handler/impl/MultiReplicaClientReadHandler.java 0.00% 7 Missing :warning:
.../response/RssPartitionToShuffleServerResponse.java 0.00% 6 Missing :warning:
...va/org/apache/spark/shuffle/ShuffleHandleInfo.java 0.00% 4 Missing :warning:
...fle/shuffle/manager/ShuffleManagerGrpcService.java 0.00% 2 Missing :warning:
...e/uniffle/client/factory/ShuffleClientFactory.java 75.00% 2 Missing :warning:
...orage/request/CreateShuffleReadHandlerRequest.java 0.00% 2 Missing :warning:
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1423      +/-   ##
============================================
+ Coverage     53.23%   54.67%   +1.43%     
+ Complexity     2715     2195     -520     
============================================
  Files           418      347      -71     
  Lines         23921    15269    -8652     
  Branches       2041     1396     -645     
============================================
- Hits          12734     8348    -4386     
+ Misses        10404     6453    -3951     
+ Partials        783      468     -315     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter avatar Jan 06 '24 03:01 codecov-commenter

ShuffleHandleInfo seems immutable, We can't change it.

jerqi avatar Jan 09 '24 01:01 jerqi

ShuffleHandleInfo seems immutable, We can't change it.

ShuffleHandleInfo can't change in executor beacuse it is a broadcast value. but we can add a new server to ShuffleHandleInfo#partitionToServers in driver, and ShuffleReader in executor renew a ShuffleHandleInfo by ShuffleManagerClient get latest partitionToServers from Driver.

xumanbu avatar Jan 09 '24 09:01 xumanbu

ShuffleHandleInfo seems immutable, We can't change it.

ShuffleHandleInfo can't change in executor beacuse it is a broadcast value. but we can add a new server to ShuffleHandleInfo#partitionToServers in driver, and ShuffleReader in executor renew a ShuffleHandleInfo by ShuffleManagerClient get latest partitionToServers from Driver.

Maybe we can use an another variable. If we use ShuffleHandleInfo, it's a little misunderstanding.

jerqi avatar Jan 09 '24 10:01 jerqi

ShuffleHandleInfo seems immutable, We can't change it.

ShuffleHandleInfo can't change in executor beacuse it is a broadcast value. but we can add a new server to ShuffleHandleInfo#partitionToServers in driver, and ShuffleReader in executor renew a ShuffleHandleInfo by ShuffleManagerClient get latest partitionToServers from Driver.

Maybe we can use an another variable. If we use ShuffleHandleInfo, it's a little misunderstanding.

good suggestion. let me think again.

xumanbu avatar Jan 09 '24 11:01 xumanbu

I submit a new proposal pr in https://github.com/apache/incubator-uniffle/pull/1445.

Map<Integer, Map<Integer, List<ShuffleServerInfo>>> dynamicAssignedPartitionServers add in ShuffleHandleInfo

to avoid this change : Map<Integer,List<ShuffleServerInfo>> partitionToServers chang to Map<Integer, List<PartitionServerInfo>> partitionToServers.

xumanbu avatar Jan 12 '24 05:01 xumanbu