// flapping time window to 5 sec
System.setProperty("helixmanager.flappingTimeWindow", "5000");
System.setProperty("helixmanager.maxDisconnectThreshold", "3");
ZkHelixTestManager manager2 =
new ZkHelixTestManager(clusterName,
null,
InstanceType.CONTROLLER,
ZK_ADDR);
manager2.connect();
Thread.sleep(100);
ZkClient zkClient = manager2.getZkClient();
for(int i = 0;i < 2; i++)
{
ZkTestHelper.expireSession(zkClient);
Thread.sleep(500);
Assert.assertTrue(manager2.isConnected());
}
Thread.sleep(5000);
// Old entries should be cleaned up
for(int i = 0;i < 3; i++)
{
ZkTestHelper.expireSession(zkClient);
Thread.sleep(500);
Assert.assertTrue(manager2.isConnected());
}
ZkTestHelper.disconnectSession(zkClient);
for(int i = 0; i < 20; i++)
{
Thread.sleep(500);
if(!manager2.isConnected()) break;
}
Assert.assertFalse(manager2.isConnected());
}