java.lang.Object | |
↳ | org.apache.helix.manager.zk.ZkCallbackHandler |
This is a copy of CallbackHandler
We need to synchronize on ZkHelixConnection
instead ofHelixManager to avoid dead-lock.
Otherwise an example deadlock scenario would be:
1) main-thread calls ZkHelixConnection#disconnect(), results in:
- ZkHelixController#reset(), holding ZkHelixConnection, waiting HelixConnectionAdaptor
2) zk-event-thread calls CallbackHandler#handleChildChange(), results in:
- CallbackHandler#invoke(), holding HelixConnectionAdaptor, waiting ZkHelixConnection
TODO remove code duplication
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Invoke the listener so that it sets up the initial values from the zookeeper if any
exists
| |||||||||||
Invoke the listener for the last time so that the listener could clean up resources
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
org.I0Itec.zkclient.IZkChildListener
| |||||||||||
From interface
org.I0Itec.zkclient.IZkDataListener
|
Invoke the listener so that it sets up the initial values from the zookeeper if any exists
Invoke the listener for the last time so that the listener could clean up resources