-
Notifications
You must be signed in to change notification settings - Fork 245
Description
If there is no ZooKeeper nor ZooKeeper connection, calling ZKHelixManager.disconnect() will block forever.
Example stack:
at sun.misc.Unsafe.park(Unsafe.java:-1)
at java.util.concurrent.locks.LockSupport.parkUntil(LockSupport.java:237)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitUntil(AbstractQueuedSynchronizer.java:2072)
at org.I0Itec.zkclient.ZkClient.waitForKeeperState(ZkClient.java:636)
at org.I0Itec.zkclient.ZkClient.waitUntilConnected(ZkClient.java:619)
at org.I0Itec.zkclient.ZkClient.waitUntilConnected(ZkClient.java:615)
at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:679)
at org.apache.helix.manager.zk.ZkClient.getChildren(ZkClient.java:210)
at org.I0Itec.zkclient.ZkClient.getChildren(ZkClient.java:409)
at org.apache.helix.manager.zk.CallbackHandler.subscribeForChanges(CallbackHandler.java:293)
at org.apache.helix.manager.zk.CallbackHandler.invoke(CallbackHandler.java:163)
at org.apache.helix.manager.zk.CallbackHandler.reset(CallbackHandler.java:408)
at org.apache.helix.manager.zk.ZKHelixManager.resetHandlers(ZKHelixManager.java:726)
at org.apache.helix.manager.zk.ZKHelixManager.disconnect(ZKHelixManager.java:532)