This is an automated email from the ASF dual-hosted git repository.

jiajunwang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git


The following commit(s) were added to refs/heads/master by this push:
     new aaa6a7c  Replace Thread.sleep() with TestHelper.verify() to fix the 
flaky unit tests (#1447)
aaa6a7c is described below

commit aaa6a7c900408ff7becfe49449e038bf09cb72f4
Author: kaisun2000 <[email protected]>
AuthorDate: Wed Oct 7 17:12:34 2020 -0700

    Replace Thread.sleep() with TestHelper.verify() to fix the flaky unit tests 
(#1447)
    
    Quite some unit test still use Thread.sleep(xxx) to wait for a condition to 
happen. This is a source of falkiness of test. This may also make the test 
running unnecessarily long. We address this issue with TestHelper.verify() 
method.
    
    Co-authored-by: Kai Sun <[email protected]>
---
 .../src/test/java/org/apache/helix/TestHelper.java | 11 ++-
 .../org/apache/helix/TestListenerCallback.java     | 88 ++++++++++++++--------
 .../test/java/org/apache/helix/TestZKCallback.java | 32 +++++---
 .../controller/stages/TestRebalancePipeline.java   | 12 +--
 .../integration/TestDisableCustomCodeRunner.java   |  2 +-
 ...rInMaintenanceModeWhenReachingMaxPartition.java |  9 ++-
 ...nanceModeWhenReachingOfflineInstancesLimit.java | 23 +++---
 .../TestClusterStatusMonitorLifecycle.java         | 10 +--
 8 files changed, 118 insertions(+), 69 deletions(-)

diff --git a/helix-core/src/test/java/org/apache/helix/TestHelper.java 
b/helix-core/src/test/java/org/apache/helix/TestHelper.java
index fecc627..7a6c122 100644
--- a/helix-core/src/test/java/org/apache/helix/TestHelper.java
+++ b/helix-core/src/test/java/org/apache/helix/TestHelper.java
@@ -76,8 +76,10 @@ import org.testng.Assert;
 
 public class TestHelper {
   private static final Logger LOG = LoggerFactory.getLogger(TestHelper.class);
-  public static final long WAIT_DURATION = 20 * 1000L; // 20 seconds
+
+  public static final long WAIT_DURATION = 60 * 1000L; // 60 seconds
   public static final int DEFAULT_REBALANCE_PROCESSING_WAIT_TIME = 1500;
+
   /**
    * Returns a unused random port.
    */
@@ -799,7 +801,12 @@ public class TestHelper {
     long start = System.currentTimeMillis();
     do {
       boolean result = verifier.verify();
-      if (result || (System.currentTimeMillis() - start) > timeout) {
+      boolean isTimedout = (System.currentTimeMillis() - start) > timeout;
+      if (result || isTimedout) {
+        if (isTimedout && !result) {
+          LOG.error("verifier time out, consider try longer timeout, stack 
trace{}",
+              Arrays.asList(Thread.currentThread().getStackTrace()));
+        }
         return result;
       }
       Thread.sleep(50);
diff --git 
a/helix-core/src/test/java/org/apache/helix/TestListenerCallback.java 
b/helix-core/src/test/java/org/apache/helix/TestListenerCallback.java
index 56f97a0..3814b82 100644
--- a/helix-core/src/test/java/org/apache/helix/TestListenerCallback.java
+++ b/helix-core/src/test/java/org/apache/helix/TestListenerCallback.java
@@ -131,22 +131,28 @@ public class TestListenerCallback extends ZkUnitTestBase {
     TestConfigListener listener = new TestConfigListener();
     listener.reset();
     _manager.addInstanceConfigChangeListener(listener);
-    Assert.assertTrue(listener._instanceConfigChanged,
-        "Should get initial instanceConfig callback invoked");
+    boolean result = TestHelper.verify(()-> {
+      return listener._instanceConfigChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result, "Should get initial instanceConfig callback 
invoked");
     Assert.assertEquals(listener._instanceConfigs.size(), _numNodes,
         "Instance Config size does not match");
 
     listener.reset();
     _manager.addClusterfigChangeListener(listener);
-    Assert.assertTrue(listener._clusterConfigChanged,
-        "Should get initial clusterConfig callback invoked");
+    result = TestHelper.verify(()-> {
+      return listener._clusterConfigChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result, "Should get initial clusterConfig callback 
invoked");
     Assert.assertNotNull(listener._clusterConfig, "Cluster Config size should 
not be null");
 
     listener.reset();
     _manager.addResourceConfigChangeListener(listener);
-    Assert.assertTrue(listener._resourceConfigChanged,
-        "Should get initial resourceConfig callback invoked");
-    Assert.assertEquals(listener._resourceConfigs.size(), 0, "Instance Config 
size does not match");
+    result = TestHelper.verify(()-> {
+      return listener._resourceConfigChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result, "Should get initial resourceConfig callback 
invoked");
+    Assert.assertEquals(listener._resourceConfigs.size(), 0, "resource config 
size does not match");
 
     // test change content
     HelixDataAccessor accessor = _manager.getHelixDataAccessor();
@@ -156,9 +162,10 @@ public class TestListenerCallback extends ZkUnitTestBase {
     value._record.setSimpleField("" + System.currentTimeMillis(), "newValue");
     listener.reset();
     accessor.setProperty(keyBuilder.instanceConfig(instanceName), value);
-    Thread.sleep(500); // wait zk callback
-    Assert.assertTrue(listener._instanceConfigChanged,
-        "Should get instanceConfig callback invoked since we change 
instanceConfig");
+    result = TestHelper.verify(()-> {
+      return listener._instanceConfigChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result, "Should get instanceConfig callback invoked 
since we change instanceConfig");
     Assert.assertEquals(listener._instanceConfigs.size(), _numNodes,
         "Instance Config size does not match");
 
@@ -166,9 +173,10 @@ public class TestListenerCallback extends ZkUnitTestBase {
     value._record.setSimpleField("" + System.currentTimeMillis(), "newValue");
     listener.reset();
     accessor.setProperty(keyBuilder.clusterConfig(), value);
-    Thread.sleep(500); // wait zk callback
-    Assert.assertTrue(listener._clusterConfigChanged,
-        "Should get clusterConfig callback invoked since we change 
clusterConfig");
+    result = TestHelper.verify(()-> {
+      return listener._clusterConfigChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result, "Should get clusterConfig callback invoked since 
we change clusterConfig");
     Assert.assertNotNull(listener._clusterConfig, "Cluster Config size should 
not be null");
 
     String resourceName = "TestDB_0";
@@ -176,16 +184,18 @@ public class TestListenerCallback extends ZkUnitTestBase {
     value._record.setSimpleField("" + System.currentTimeMillis(), "newValue");
     listener.reset();
     accessor.setProperty(keyBuilder.resourceConfig(resourceName), value);
-    Thread.sleep(500); // wait zk callback
-    Assert.assertTrue(listener._resourceConfigChanged,
-        "Should get resourceConfig callback invoked since we add 
resourceConfig");
+    result = TestHelper.verify(()-> {
+      return listener._resourceConfigChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result, "Should get resourceConfig callback invoked 
since we add resourceConfig");
     Assert.assertEquals(listener._resourceConfigs.size(), 1, "Resource config 
size does not match");
 
     listener.reset();
     accessor.removeProperty(keyBuilder.resourceConfig(resourceName));
-    Thread.sleep(500); // wait zk callback
-    Assert.assertTrue(listener._resourceConfigChanged,
-        "Should get resourceConfig callback invoked since we add 
resourceConfig");
+    result = TestHelper.verify(()-> {
+      return listener._resourceConfigChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result, "Should get resourceConfig callback invoked 
since we add resourceConfig");
     Assert.assertEquals(listener._resourceConfigs.size(), 0, "Instance Config 
size does not match");
   }
 
@@ -195,19 +205,27 @@ public class TestListenerCallback extends ZkUnitTestBase {
 
     listener.reset();
     _manager.addConfigChangeListener(listener, ConfigScopeProperty.CLUSTER);
-    Assert.assertTrue(listener._configChanged, "Should get initial 
clusterConfig callback invoked");
+    boolean result = TestHelper.verify(()-> {
+      return listener._configChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result,"Should get initial clusterConfig callback 
invoked");
     Assert.assertEquals(listener._configSize, 1, "Cluster Config size should 
be 1");
 
     listener.reset();
     _manager.addConfigChangeListener(listener, ConfigScopeProperty.RESOURCE);
-    Assert.assertTrue(listener._configChanged,
+    result = TestHelper.verify(()-> {
+      return listener._configChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result,
         "Should get initial resourceConfig callback invoked");
     Assert.assertEquals(listener._configSize, 0, "Resource Config size does 
not match");
 
     listener.reset();
     _manager.addConfigChangeListener(listener, 
ConfigScopeProperty.PARTICIPANT);
-    Assert.assertTrue(listener._configChanged,
-        "Should get initial instanceConfig callback invoked");
+    result = TestHelper.verify(()-> {
+      return listener._configChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result,"Should get initial resourceConfig callback 
invoked");
     Assert.assertEquals(listener._configSize, _numNodes, "Instance Config size 
does not match");
 
     // test change content
@@ -218,8 +236,10 @@ public class TestListenerCallback extends ZkUnitTestBase {
     value._record.setSimpleField("" + System.currentTimeMillis(), "newValue");
     listener.reset();
     accessor.setProperty(keyBuilder.instanceConfig(instanceName), value);
-    Thread.sleep(500); // wait zk callback
-    Assert.assertTrue(listener._configChanged,
+    result = TestHelper.verify(()-> {
+      return listener._configChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result,
         "Should get instanceConfig callback invoked since we change 
instanceConfig");
     Assert.assertEquals(listener._configSize, _numNodes, "Instance Config size 
does not match");
 
@@ -227,8 +247,10 @@ public class TestListenerCallback extends ZkUnitTestBase {
     value._record.setSimpleField("" + System.currentTimeMillis(), 
"newClusterValue");
     listener.reset();
     accessor.setProperty(keyBuilder.clusterConfig(), value);
-    Thread.sleep(500); // wait zk callback
-    Assert.assertTrue(listener._configChanged,
+    result = TestHelper.verify(()-> {
+      return listener._configChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result,
         "Should get clusterConfig callback invoked since we change 
clusterConfig");
     Assert.assertEquals(listener._configSize, 1, "Cluster Config size does not 
match");
 
@@ -237,15 +259,19 @@ public class TestListenerCallback extends ZkUnitTestBase {
     value._record.setSimpleField("" + System.currentTimeMillis(), "newValue");
     listener.reset();
     accessor.setProperty(keyBuilder.resourceConfig(resourceName), value);
-    Thread.sleep(500); // wait zk callback
-    Assert.assertTrue(listener._configChanged,
+    result = TestHelper.verify(()-> {
+      return listener._configChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result,
         "Should get resourceConfig callback invoked since we add 
resourceConfig");
     Assert.assertEquals(listener._configSize, 1, "Resource Config size does 
not match");
 
     listener.reset();
     accessor.removeProperty(keyBuilder.resourceConfig(resourceName));
-    Thread.sleep(500); // wait zk callback
-    Assert.assertTrue(listener._configChanged,
+    result = TestHelper.verify(()-> {
+      return listener._configChanged;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result,
         "Should get resourceConfig callback invoked since we add 
resourceConfig");
     Assert.assertEquals(listener._configSize, 0, "Resource Config size does 
not match");
   }
diff --git a/helix-core/src/test/java/org/apache/helix/TestZKCallback.java 
b/helix-core/src/test/java/org/apache/helix/TestZKCallback.java
index 4c86b2b..d97471c 100644
--- a/helix-core/src/test/java/org/apache/helix/TestZKCallback.java
+++ b/helix-core/src/test/java/org/apache/helix/TestZKCallback.java
@@ -41,6 +41,7 @@ import org.apache.helix.model.LiveInstance;
 import org.apache.helix.model.Message;
 import org.apache.helix.model.Message.MessageType;
 import org.apache.helix.tools.ClusterSetup;
+import org.testng.Assert;
 import org.testng.AssertJUnit;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
@@ -165,8 +166,10 @@ public class TestZKCallback extends ZkUnitTestBase {
 
       ExternalView extView = new ExternalView("db-12345");
       accessor.setProperty(keyBuilder.externalView("db-12345"), extView);
-      Thread.sleep(100);
-      AssertJUnit.assertTrue(testListener.externalViewChangeReceived);
+      boolean result = TestHelper.verify(() -> {
+        return testListener.externalViewChangeReceived;
+      }, TestHelper.WAIT_DURATION);
+      Assert.assertTrue(result);
       testListener.Reset();
 
       CurrentState curState = new CurrentState("db-12345");
@@ -175,8 +178,10 @@ public class TestZKCallback extends ZkUnitTestBase {
       accessor.setProperty(keyBuilder
               .currentState("localhost_8900", testHelixManager.getSessionId(), 
curState.getId()),
           curState);
-      Thread.sleep(100);
-      AssertJUnit.assertTrue(testListener.currentStateChangeReceived);
+      result = TestHelper.verify(() -> {
+        return testListener.currentStateChangeReceived;
+      }, TestHelper.WAIT_DURATION);
+      Assert.assertTrue(result);
       testListener.Reset();
 
       IdealState idealState = new IdealState("db-1234");
@@ -184,8 +189,10 @@ public class TestZKCallback extends ZkUnitTestBase {
       idealState.setReplicas(Integer.toString(2));
       idealState.setStateModelDefRef("StateModeldef");
       accessor.setProperty(keyBuilder.idealStates("db-1234"), idealState);
-      Thread.sleep(100);
-      AssertJUnit.assertTrue(testListener.idealStateChangeReceived);
+      result = TestHelper.verify(() -> {
+        return testListener.idealStateChangeReceived;
+      }, TestHelper.WAIT_DURATION);
+      Assert.assertTrue(result);
       testListener.Reset();
 
       // dummyRecord = new ZNRecord("db-12345");
@@ -211,16 +218,21 @@ public class TestZKCallback extends ZkUnitTestBase {
       
message.setStateModelFactoryName(HelixConstants.DEFAULT_STATE_MODEL_FACTORY);
 
       accessor.setProperty(keyBuilder.message("localhost_8900", 
message.getId()), message);
-      Thread.sleep(500);
-      AssertJUnit.assertTrue(testListener.messageChangeReceived);
+      result = TestHelper.verify(() -> {
+        return testListener.messageChangeReceived;
+      }, TestHelper.WAIT_DURATION);
+      Assert.assertTrue(result);
+      testListener.Reset();
 
       // dummyRecord = new ZNRecord("localhost_9801");
       LiveInstance liveInstance = new LiveInstance("localhost_9801");
       liveInstance.setSessionId(UUID.randomUUID().toString());
       liveInstance.setHelixVersion(UUID.randomUUID().toString());
       accessor.setProperty(keyBuilder.liveInstance("localhost_9801"), 
liveInstance);
-      Thread.sleep(500);
-      AssertJUnit.assertTrue(testListener.liveInstanceChangeReceived);
+      result = TestHelper.verify(() -> {
+        return testListener.liveInstanceChangeReceived;
+      }, TestHelper.WAIT_DURATION);
+      Assert.assertTrue(result);
       testListener.Reset();
 
       // dataAccessor.setNodeConfigs(recList); Thread.sleep(100);
diff --git 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java
 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java
index 84ee28d..95b0bdd 100644
--- 
a/helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java
+++ 
b/helix-core/src/test/java/org/apache/helix/controller/stages/TestRebalancePipeline.java
@@ -155,15 +155,15 @@ public class TestRebalancePipeline extends ZkUnitTestBase 
{
     
Assert.assertTrue(messages.get(0).getFromState().equalsIgnoreCase("SLAVE"));
     Assert.assertTrue(messages.get(0).getToState().equalsIgnoreCase("MASTER"));
 
+    Thread.sleep(2 * MessageGenerationPhase.DEFAULT_OBSELETE_MSG_PURGE_DELAY);
     runPipeline(event, dataRefresh, false);
-
-    // Verify the stale message should be deleted
+    
     Assert.assertTrue(TestHelper.verify(() -> {
       if (dataCache.getStaleMessages().size() != 0) {
         return false;
       }
       return true;
-    }, 2000));
+    }, TestHelper.WAIT_DURATION));
 
     deleteLiveInstances(clusterName);
     deleteCluster(clusterName);
@@ -216,7 +216,7 @@ public class TestRebalancePipeline extends ZkUnitTestBase {
         }
       }
       return true;
-    }, 2000));
+    }, TestHelper.WAIT_DURATION));
 
     // round2: node0 and node1 update current states but not removing messages
     // Since controller's rebalancer pipeline will GC pending messages after 
timeout, and both hosts
@@ -238,7 +238,7 @@ public class TestRebalancePipeline extends ZkUnitTestBase {
         }
       }
       return true;
-    }, 1000));
+    }, TestHelper.WAIT_DURATION));
 
     // After another purge delay, controller should cleanup messages and 
continue to rebalance
     Thread.sleep(msgPurgeDelay);
@@ -257,7 +257,7 @@ public class TestRebalancePipeline extends ZkUnitTestBase {
         return false;
       }
       return true;
-    }, 2000));
+    }, TestHelper.WAIT_DURATION));
 
     // round3: node0 changes state to master, but failed to delete message,
     // controller will clean it up
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/TestDisableCustomCodeRunner.java
 
b/helix-core/src/test/java/org/apache/helix/integration/TestDisableCustomCodeRunner.java
index c667698..727f3ea 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/TestDisableCustomCodeRunner.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/TestDisableCustomCodeRunner.java
@@ -180,7 +180,7 @@ public class TestDisableCustomCodeRunner extends 
ZkUnitTestBase {
         }
       }
       return true;
-    }, 10 * 1000);
+    }, TestHelper.WAIT_DURATION);
     Assert.assertTrue(result);
 
     // Change live-instance should not invoke any custom-code runner
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestClusterInMaintenanceModeWhenReachingMaxPartition.java
 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestClusterInMaintenanceModeWhenReachingMaxPartition.java
index 9285f38..b265e08 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestClusterInMaintenanceModeWhenReachingMaxPartition.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestClusterInMaintenanceModeWhenReachingMaxPartition.java
@@ -117,10 +117,11 @@ public class 
TestClusterInMaintenanceModeWhenReachingMaxPartition extends ZkTest
       _participants.get(i).syncStop();
     }
 
-    Thread.sleep(1000L);
-    maintenanceSignal = 
_dataAccessor.getProperty(_dataAccessor.keyBuilder().maintenance());
-    Assert.assertNotNull(maintenanceSignal);
-    Assert.assertNotNull(maintenanceSignal.getReason());
+    boolean result = TestHelper.verify(() -> {
+      MaintenanceSignal ms = 
_dataAccessor.getProperty(_dataAccessor.keyBuilder().maintenance());
+      return ms != null && ms.getReason() != null;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result);
   }
 
   @AfterClass
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestClusterInMaintenanceModeWhenReachingOfflineInstancesLimit.java
 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestClusterInMaintenanceModeWhenReachingOfflineInstancesLimit.java
index 8254af0..fae1b31 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestClusterInMaintenanceModeWhenReachingOfflineInstancesLimit.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/rebalancer/TestClusterInMaintenanceModeWhenReachingOfflineInstancesLimit.java
@@ -151,6 +151,7 @@ public class 
TestClusterInMaintenanceModeWhenReachingOfflineInstancesLimit exten
       MaintenanceSignal ms 
=_dataAccessor.getProperty(_dataAccessor.keyBuilder().maintenance());
       return ms != null && ms.getReason() != null;
     }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result);
 
     checkForRebalanceError(true);
 
@@ -176,18 +177,20 @@ public class 
TestClusterInMaintenanceModeWhenReachingOfflineInstancesLimit exten
       _participants.get(i).syncStop();
     }
 
-    Thread.sleep(500);
-
-    maintenanceSignal = 
_dataAccessor.getProperty(_dataAccessor.keyBuilder().maintenance());
-    Assert.assertNull(maintenanceSignal);
+    boolean result = TestHelper.verify(() -> {
+      MaintenanceSignal ms = 
_dataAccessor.getProperty(_dataAccessor.keyBuilder().maintenance());
+      return ms == null;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result);
 
     _participants.get(i).syncStop();
 
-    Thread.sleep(500);
-    maintenanceSignal = 
_dataAccessor.getProperty(_dataAccessor.keyBuilder().maintenance());
-    Assert.assertNotNull(maintenanceSignal);
-    Assert.assertNotNull(maintenanceSignal.getReason());
-
+    result = TestHelper.verify(() -> {
+      MaintenanceSignal ms 
=_dataAccessor.getProperty(_dataAccessor.keyBuilder().maintenance());
+      return ms != null && ms.getReason() != null;
+    }, TestHelper.WAIT_DURATION);
+    Assert.assertTrue(result);
+    
     // Verify there is rebalance error logged
     checkForRebalanceError(true);
   }
@@ -217,7 +220,7 @@ public class 
TestClusterInMaintenanceModeWhenReachingOfflineInstancesLimit exten
       Long value =
           (Long) _server.getAttribute(getClusterMbeanName(CLUSTER_NAME), 
"RebalanceFailureGauge");
       return expectError == (value != null && value > 0);
-    }, 5000);
+    }, TestHelper.WAIT_DURATION);
     Assert.assertTrue(result);
   }
 
diff --git 
a/helix-core/src/test/java/org/apache/helix/monitoring/TestClusterStatusMonitorLifecycle.java
 
b/helix-core/src/test/java/org/apache/helix/monitoring/TestClusterStatusMonitorLifecycle.java
index 5035fe8..207be0e 100644
--- 
a/helix-core/src/test/java/org/apache/helix/monitoring/TestClusterStatusMonitorLifecycle.java
+++ 
b/helix-core/src/test/java/org/apache/helix/monitoring/TestClusterStatusMonitorLifecycle.java
@@ -196,7 +196,7 @@ public class TestClusterStatusMonitorLifecycle extends 
ZkTestBase {
       mbeans.clear();
       mbeans.addAll(newMbeans);
       return newMbeans.size() == (previousMBeanCount - 2);
-    }, 3000));
+    }, TestHelper.WAIT_DURATION));
 
     HelixDataAccessor accessor = _participants[n - 1].getHelixDataAccessor();
     String firstControllerName =
@@ -226,7 +226,7 @@ public class TestClusterStatusMonitorLifecycle extends 
ZkTestBase {
       mbeans.clear();
       mbeans.addAll(newMbeans);
       return newMbeans.size() == (previousMBeanCount2 - 3);
-    }, 5000));
+    }, TestHelper.WAIT_DURATION));
 
     String instanceName = "localhost0_" + (12918);
     _participants[0] = new MockParticipantManager(ZK_ADDR, _firstClusterName, 
instanceName);
@@ -242,7 +242,7 @@ public class TestClusterStatusMonitorLifecycle extends 
ZkTestBase {
       mbeans.clear();
       mbeans.addAll(newMbeans);
       return newMbeans.size() == (previousMBeanCount3 + 2);
-    }, 3000));
+    }, TestHelper.WAIT_DURATION));
 
     // Add a resource
     // Register 1 resource mbean
@@ -263,7 +263,7 @@ public class TestClusterStatusMonitorLifecycle extends 
ZkTestBase {
       mbeans.clear();
       mbeans.addAll(newMbeans);
       return newMbeans.size() == (previousMBeanCount4 + _participants.length + 
1);
-    }, 3000));
+    }, TestHelper.WAIT_DURATION));
 
     // Remove a resource
     // No change in instance/resource mbean
@@ -277,7 +277,7 @@ public class TestClusterStatusMonitorLifecycle extends 
ZkTestBase {
       mbeans.clear();
       mbeans.addAll(newMbeans);
       return newMbeans.size() == (previousMBeanCount5 - (_participants.length 
+ 1));
-    }, 3000));
+    }, TestHelper.WAIT_DURATION));
 
     // Cleanup controllers then MBeans should all be removed.
     cleanupControllers();

Reply via email to