If I'm correct after reading the docs, if my client sets a watch on a znode, 
disconnects, then automatically reconnects, any appropriate pending watches 
will be fired. I'm assuming this is only as long as the ZooKeeper client 
handles the reconnection, though. If, however, an expiration is received during 
a reconnection or the client app shuts down, I'll have to reset all the 
watches. Is this correct?

Additionally, I'm curious if there is a way to know if there are any watches 
currently on a znode. Since we can't do ephemeral parent nodes, yet, and if I 
have a client that fails (which results in losing their session and watches) - 
or forcefully shutdown from Eclipse (which is what happens when I'm testing), 
I'll need to find out which znodes are no longer being watched and reestablish 
them (possibly by another client).

Another thought was a "named" watch, where a watch can be saved between 
sessions by having uniquely named clients (I know this isn't currently 
supported, just thinking out loud). Just trying to figure out how to make due 
without ephemeral parent nodes.

-Ryan

Reply via email to