Hello,

I wonder if anyone knows whether persistent recursive watch ensures that
the client receives notifications for any changes that occurred while
disconnected?

The feature was introduced in
https://issues.apache.org/jira/browse/ZOOKEEPER-1416.

Following the code, it looks like it only re-registers the watches but
doesn't check if any changes have occurred and need to be notified upon
reconnecting.

I wonder if anyone has any knowledge and insight on this. Any
response would be appreciated.


Code snippet in DataTree.setWatches()
=============================

for (String path : persistentWatches) {
            this.childWatches.addWatch(path, watcher,
WatcherMode.PERSISTENT);
            this.dataWatches.addWatch(path, watcher,
WatcherMode.PERSISTENT);
        }
        for (String path : persistentRecursiveWatches) {
            this.dataWatches.addWatch(path, watcher,
WatcherMode.PERSISTENT_RECURSIVE);
        }

https://github.com/apache/zookeeper/blob/master/zookeeper-server/src/main/java/org/apache/zookeeper/server/DataTree.java#L1492-L1529


Thanks

Li

Reply via email to