This is an automated email from the ASF dual-hosted git repository. hulee pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/helix.git
commit 7f4044ffedc8a57ee4c635daf747352f1fcddc37 Author: Jiajun Wang <[email protected]> AuthorDate: Tue Nov 13 16:59:18 2018 -0800 Fix node swap test. Add sleep to stablize the test. Several cluster operations require controller reaction before checking. RB=1484466 G=helix-reviewers A=hrzhang Signed-off-by: Hunter Lee <[email protected]> --- .../rebalancer/CrushRebalancers/TestNodeSwap.java | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestNodeSwap.java b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestNodeSwap.java index 7275481..3d20f0a 100644 --- a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestNodeSwap.java +++ b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/CrushRebalancers/TestNodeSwap.java @@ -28,6 +28,7 @@ import java.util.Map; import java.util.Set; import org.apache.helix.ConfigAccessor; +import org.apache.helix.TestHelper; import org.apache.helix.common.ZkTestBase; import org.apache.helix.controller.rebalancer.strategy.CrushEdRebalanceStrategy; import org.apache.helix.controller.rebalancer.strategy.CrushRebalanceStrategy; @@ -39,7 +40,6 @@ import org.apache.helix.model.ClusterConfig; import org.apache.helix.model.ExternalView; import org.apache.helix.model.IdealState; import org.apache.helix.model.InstanceConfig; -import org.apache.helix.model.Partition; import org.apache.helix.tools.ClusterVerifiers.HelixClusterVerifier; import org.apache.helix.tools.ClusterVerifiers.StrictMatchExternalViewVerifier; import org.testng.Assert; @@ -143,7 +143,7 @@ public class TestNodeSwap extends ZkTestBase { _gSetupTool.rebalanceStorageCluster(CLUSTER_NAME, db, _replica); _allDBs.add(db); } - Thread.sleep(300); + Thread.sleep(1000); HelixClusterVerifier _clusterVerifier = new StrictMatchExternalViewVerifier.Builder(CLUSTER_NAME).setZkAddr(ZK_ADDR) @@ -151,7 +151,6 @@ public class TestNodeSwap extends ZkTestBase { Assert.assertTrue(_clusterVerifier.verify(5000)); Map<String, ExternalView> record = new HashMap<>(); - for (String db : _allDBs) { record.put(db, _gSetupTool.getClusterManagementTool().getResourceExternalView(CLUSTER_NAME, db)); @@ -163,14 +162,17 @@ public class TestNodeSwap extends ZkTestBase { // 1. disable and remove an old node MockParticipantManager oldParticipant = _participants.get(0); String oldParticipantName = oldParticipant.getInstanceName(); - oldParticipant.syncStop(); - InstanceConfig instanceConfig = + + final InstanceConfig instanceConfig = _gSetupTool.getClusterManagementTool().getInstanceConfig(CLUSTER_NAME, oldParticipantName); // disable the node first instanceConfig.setInstanceEnabled(false); _gSetupTool.getClusterManagementTool().setInstanceConfig(CLUSTER_NAME, oldParticipantName, instanceConfig); Assert.assertTrue(_clusterVerifier.verify(10000)); + // then remove it from topology + oldParticipant.syncStop(); + Thread.sleep(2000); _gSetupTool.getClusterManagementTool().dropInstance(CLUSTER_NAME, instanceConfig); // 2. create new participant with same topology @@ -186,8 +188,11 @@ public class TestNodeSwap extends ZkTestBase { new MockParticipantManager(ZK_ADDR, CLUSTER_NAME, newParticipantName); participant.syncStart(); _participants.add(0, participant); - Thread.sleep(300); + Thread.sleep(2000); + _clusterVerifier = + new StrictMatchExternalViewVerifier.Builder(CLUSTER_NAME).setZkAddr(ZK_ADDR) + .setResources(_allDBs).build(); Assert.assertTrue(_clusterVerifier.verify(5000)); for (String db : _allDBs) { @@ -203,9 +208,7 @@ public class TestNodeSwap extends ZkTestBase { if (instance.equals(newParticipantName)) { topoName = oldParticipantName; } - if (!stateMap.get(instance).equals(oldStateMap.get(topoName))) { - Assert.fail("test"); - } + Assert.assertEquals(stateMap.get(instance), oldStateMap.get(topoName)); } } }
