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_r370759418
##########
File path:
helix-core/src/test/java/org/apache/helix/integration/rebalancer/WagedRebalancer/TestWagedRebalance.java
##########
@@ -473,6 +473,58 @@ public void testNewInstances()
}
}
+ /**
+ * The stateful WAGED rebalancer will be reset while the controller regains
the leadership.
+ * This test is to verify if the reset has been done and the rebalancer has
forgotten any previous
+ * status after leadership switched.
+ */
+ @Test(dependsOnMethods = "test")
+ public void testRebalancerReset() throws Exception {
+ // Configure the rebalance preference so as to trigger more partition
movements for evenness.
+ // This is to ensure the controller will try to move something if the
rebalancer has been reset.
+ ConfigAccessor configAccessor = new ConfigAccessor(_gZkClient);
+ ClusterConfig clusterConfig =
configAccessor.getClusterConfig(CLUSTER_NAME);
+ clusterConfig.setGlobalRebalancePreference(ImmutableMap
+ .of(ClusterConfig.GlobalRebalancePreferenceKey.EVENNESS, 10,
+ ClusterConfig.GlobalRebalancePreferenceKey.LESS_MOVEMENT, 0));
+ configAccessor.setClusterConfig(CLUSTER_NAME, clusterConfig);
+
+ int i = 0;
+ for (String stateModel : _testModels) {
+ String db = "Test-DB-" + TestHelper.getTestMethodName() + i++;
+ createResourceWithWagedRebalance(CLUSTER_NAME, db, stateModel,
PARTITIONS, _replica,
+ _replica);
+ _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica);
+ _allDBs.add(db);
+ }
+ Thread.sleep(300);
Review comment:
We should add a TODO here for all the sleep() calls?
----------------------------------------------------------------
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]