The Persistent/Recursive watches (ZOOKEEPER-1416) PR is ready. But, I'm 
concerned about an assumption I've made. I worry about event ordering regarding 
multiple writes from multiple clients and watchers. Here's my assumption:

If you successfully set a Persistent watcher (i.e. you get confirmation via a 
synchronous addWatch() completing or the callback to an asynchronous addWatch) 
then any future ZooKeeper calls (getData, setData, etc.) have the same 
guarantees as any other Watcher. ZOOKEEPER-1416 adds the persistent watchers to 
both the dataWatchers and childWatchers managed by DataTree. This is what all 
other watchers do.

So, I believe it's true but we really need some confirmation from someone who 
knows those internals better than me. 

-Jordan

Reply via email to