antwigambrah commented on code in PR #9662:
URL: https://github.com/apache/pinot/pull/9662#discussion_r1010173249


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/rebalance/TableRebalancer.java:
##########
@@ -383,6 +383,23 @@ public RebalanceResult rebalance(TableConfig tableConfig, 
Configuration rebalanc
     }
   }
 
+  public RebalanceResult.Status rebalanceStatus(String tableNameWithType, 
IdealState idealState,
+      ExternalView externalView) {
+
+    if (idealState == null) {
+      throw new IllegalStateException("ideal state is empty");
+    }
+    if (externalView == null) {
+      return RebalanceResult.Status.NO_OP;
+    }
+
+    if (isExternalViewConverged(tableNameWithType, 
externalView.getRecord().getMapFields(),
+        idealState.getRecord().getMapFields(), true)) {
+      return RebalanceResult.Status.DONE;

Review Comment:
   HI, @siddharthteotia  Yes it will be quite misleading. Checking for 
IN_PROGRESS seems tricky here. 
   
   The possible way I can think for now through testing I have done on 
TableRebalancerClusterStatelessTest is to check on the external view from being 
null to being allocated segments assignments. 
   
   For DONE status, I will run the rebalance in dry mode and retrieve the new 
assignments from the result and use is checking if the extervalViewConverged . 
Kindly let me know you thoughts on it . cc @Jackie-Jiang 



-- 
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