MarkGaox commented on code in PR #2595:
URL: https://github.com/apache/helix/pull/2595#discussion_r1294938531


##########
helix-core/src/main/java/org/apache/helix/model/ClusterConfig.java:
##########
@@ -151,7 +151,10 @@ public enum ClusterConfigProperty {
     HELIX_ENABLED_DISABLE_TIMESTAMP,
     HELIX_DISABLED_REASON,
     // disabled type should be a enum of 
org.apache.helix.constants.InstanceConstants.InstanceDisabledType
-    HELIX_DISABLED_TYPE
+    HELIX_DISABLED_TYPE,
+
+    // The last time when the on-demand rebalance is triggered.
+    LAST_ON_DEMAND_REBALANCE_TIMESTAMP

Review Comment:
   When there are two calls C1 and C2 and C1 < C2, it's true that C1 will be 
overwritten by C2. It's fine for the rebalance triggered by C1 to be based on 
C2 timestamp because it won't make any difference. All offline/disabled nodes 
are still going to be rebalanced as long as T1 < C2 && C2 < T3. As for the 
rebalance call of C2, when it takes place the cluster is already rebalanced, 
therefore making no changes. Generally, we don't expect users to make 
concurrent cluster management API calls (but I understand it's not a good idea 
to make such assumption hahaha....). Hope this explains your concern. 
   
   For now, we only trigger the cluster level rebalance. We won't implement the 
fine-grained control of selecting which set of servers to be rebalanced unless 
the user explicitly requests that.



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