[
https://issues.apache.org/jira/browse/ZOOKEEPER-4625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kezhu Wang updated ZOOKEEPER-4625:
----------------------------------
Summary: No reliable way to remove watcher without interfering others in
same watch mode and on same path (was: No reliable way to remove watch without
interfering others on same paths)
> No reliable way to remove watcher without interfering others in same watch
> mode and on same path
> ------------------------------------------------------------------------------------------------
>
> Key: ZOOKEEPER-4625
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4625
> Project: ZooKeeper
> Issue Type: Bug
> Components: java client
> Affects Versions: 3.8.0
> Reporter: Kezhu Wang
> Priority: Major
>
> It is possible that one node path could be watched more than once by
> different watchers reusing same ZooKeeper session. ZOOKEEPER-1910 reported
> this, but resorted to "checkWatches" to circumvent this.
> I think it might be possible do some tracking works in client to support
> "removeWatches" without fearing client usages.
> Here are some links that lead to this issue:
> * ZOOKEEPER-1910: RemoveWatches wrongly removes the watcher if multiple
> watches exists on a path
> * CURATOR-654: DistributedBarrier watcher leak and its
> [pr|https://github.com/apache/curator/pull/435]
> * [Why removeWatches sends OpCode.checkWatches to the
> server?|https://lists.apache.org/thread/0kcnklcxs0s5656c1sbh3crgdodbb0qg]
> from mailing list.
> * [Drop for watcher|https://github.com/kezhuw/zookeeper-client-rust/issues/2]
> from an rust implementation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)