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();