zuston commented on code in PR #1652:
URL: 
https://github.com/apache/incubator-uniffle/pull/1652#discussion_r1577716638


##########
client-spark/spark3/src/main/java/org/apache/spark/shuffle/RssShuffleManager.java:
##########
@@ -1199,63 +1213,113 @@ public synchronized boolean 
reassignAllShuffleServersForWholeStage(
     }
   }
 
-  // this is only valid on driver side that exposed to being invoked by grpc 
server
+  /** this is only valid on driver side that exposed to being invoked by grpc 
server */
   @Override
-  public ShuffleServerInfo reassignFaultyShuffleServerForTasks(
-      int shuffleId, Set<Integer> partitionIds, String faultyShuffleServerId) {
+  public ShuffleHandleInfo reassignFaultyShuffleServerForTasks(
+      int shuffleId,
+      Set<Integer> partitionIds,
+      String faultyShuffleServerId,
+      Set<Integer> loadBalancePartitionIds) {
     ShuffleHandleInfo handleInfo = shuffleIdToShuffleHandleInfo.get(shuffleId);
     synchronized (handleInfo) {
+      // If the reassignment servers for one partition exceeds the max 
reassign server num,
+      // it should fast fail.
+      handleInfo.checkPartitionReassignServerNum(

Review Comment:
   Prevent too much reassignment servers for one partition, this may cause 
uniffle cluster snowslide if the client sbring too much pressure.



##########
client-spark/spark3/src/main/java/org/apache/spark/shuffle/RssShuffleManager.java:
##########
@@ -1199,63 +1213,113 @@ public synchronized boolean 
reassignAllShuffleServersForWholeStage(
     }
   }
 
-  // this is only valid on driver side that exposed to being invoked by grpc 
server
+  /** this is only valid on driver side that exposed to being invoked by grpc 
server */
   @Override
-  public ShuffleServerInfo reassignFaultyShuffleServerForTasks(
-      int shuffleId, Set<Integer> partitionIds, String faultyShuffleServerId) {
+  public ShuffleHandleInfo reassignFaultyShuffleServerForTasks(
+      int shuffleId,
+      Set<Integer> partitionIds,
+      String faultyShuffleServerId,
+      Set<Integer> loadBalancePartitionIds) {
     ShuffleHandleInfo handleInfo = shuffleIdToShuffleHandleInfo.get(shuffleId);
     synchronized (handleInfo) {
+      // If the reassignment servers for one partition exceeds the max 
reassign server num,
+      // it should fast fail.
+      handleInfo.checkPartitionReassignServerNum(

Review Comment:
   Prevent too much reassignment servers for one partition, this may cause 
uniffle cluster snowslide if the clients bring too much pressure.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to