On Tue, Apr 10, 2012 at 6:41 PM, Rohan Desai <[email protected]> wrote: > Im new to zk and had some questions about connection loss events. From what > I understand when a ZK handle loses connection to the ZK cluster, the ZK > client's watch handler receives a DISCONNECTED event. If the connection is > lost for longer than the session timeout, the ZK client's watch handler > receives a SESSION_EXPIRED event and the handle is closed. If this is > correct, does the ZK client's watch handler receive the DISCONNECTED event > right after the client loses its connection to the cluster? When does the > client get the SESSION_EXPIRED event? Does it get it after the client > detects the session would have timed out or only after the client is able > to re-establish a connection to the ZK cluster?
Some good details in the faq on this: https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ It's not exactly as you describe - for example you can't know the session is expired until you reconnect to the server. Also see this section in the programmer guide: http://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#ch_zkSessions Patrick
