Hi All Suppose I have a znode, say /Me, and have three nodes A, B and C who have set watches on this znode. Now suppose some process changes some value on /Me then watches get delivered to A, B and C. Now if at that instant of time C were down I could always read the znode on coming back up. However if C were partitioned away would the watch be delivered in a guaranteed fashion when the partition heals? Or are watches best effort delivery?
If a znode is changed N times am I going to get N watches delivered one for each change or could I be in a situation where I could get only a few watches but the final change will be delivered to me. The reason for this is that I have a situation where I set a watch on znode /Parent underneath which many znodes /Parent/Child-i could be added one per process in my cluster on startup. I need to get all the znodes under /Parent when startup is complete. Am I guaranteed to get the watch which contains all the children provided all the processes do successfully put an entry in ZK. Is this clear? If not I can try to articulate it better. Cheers Avinash