narendly commented on a change in pull request #690: Reset the WAGED rebalancer once the controller newly acquires leadership. URL: https://github.com/apache/helix/pull/690#discussion_r369864578
########## File path: helix-core/src/main/java/org/apache/helix/controller/GenericHelixController.java ########## @@ -187,6 +187,11 @@ private HelixManager _helixManager; + // Since the WAGED rebalancer needs to be lazily constructed, the GenericHelixController will not + // be constructed with a WAGED rebalancer. This wrapper is to avoid the complexity of handling a + // nullable value in the GenericHelixController logic. + private final WagedRebalancerRef _wagedRebalancerRef = new WagedRebalancerRef(); Review comment: Design suggestion: Could we make this generic by using `RebalancerRef` or `StatefulRebalancerRef` (since this is only a problem for stateful rebalancers)? Also, instead of directly instantiating, we could make this a cluster config and have it be dynamically created? (Waged, CrushED, etc.). That way, we decouple GenericHelixController from WAGED (or a particular rebalancer) as much as possible. It would be okay to set the default type to be WAGED since this is the only stateful rebalancer we have available so far? ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
