When it came to implementing this in Kazoo, upon disconnect I flag the session 
watcher to indicate it was gone. AFAIK the C client will call all watches and 
indicate there was a disconnect state, at which point they have to then attempt 
to re-do their operation and set a new watch. Existing watches will not be 
called to indicate the connection was lost (which the default Zookeeper client 
does, with Kazoo I ask the developer to register a client listener if they're 
interested in this event).

The docs state that the 'client' will re-register watches upon reconnection. 
This is not the behavior that I observed last time I used the C client, I can't 
speak to what the Java client does. I'd like Kazoo to meet the same 
requirements so I'm curious if there could be some agreement on what exactly 
the client should/shouldn't do regarding a watch.

Cheers,
Ben

Reply via email to