I'm a bit curious about some of the implementation details for exists and data 
watches. In the Jute files, C client, and Java client, watches are divided into:
- Data watches
- Exists watches
- Children watches

Yet the code treats data and exists watches identically, calling them at the 
same time. Which makes sense of course given this is in the Zookeeper 
Programmers manual:
"It helps to think of ZooKeeper as maintaining two lists of watches: data 
watches and child watches. getData() and exists() set data watches. 
getChildren() sets child watches."

So why do the implementations treat data and exists watches identically, but 
store them in two different spots? Why do the Jute files differentiate? Is this 
to handle some possible future difference between the two?

Cheers,
Ben

Reply via email to