[
https://issues.apache.org/jira/browse/ZOOKEEPER-4472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kezhu Wang updated ZOOKEEPER-4472:
----------------------------------
Release Note: Previously, client has to resort to WatcherType::Any to
remove persistent watches. It is enough if client attaches only one watch mode
per path. But after ZOOKEEPER-4466, we start to support different watches on
one path officially, it becomes a serious problem as there could be other watch
modes on path being removeWatches. So we decide to add WatcherType::Persistent
and WatcherType::PersistentRecursive to remove persistent watch and persistent
recursive watch respectively. This way, users of client can remove their watch
even if there are other watch modes on that path. Still, users have to ensure
there are no watchers with same watch mode on that path. But it is a pure Java
Client issue. See ZOOKEEPER-4625 for reference.
> Support persistent watchers removing individually
> -------------------------------------------------
>
> Key: ZOOKEEPER-4472
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4472
> Project: ZooKeeper
> Issue Type: Improvement
> Components: server
> Affects Versions: 3.6.3, 3.7.0
> Reporter: Kezhu Wang
> Assignee: Kezhu Wang
> Priority: Blocker
> Labels: pull-request-available
> Fix For: 3.9.0
>
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> Persistent watchers could only be removed with {{WatcherType.Any}} now. I
> think it is meaningful to remove them individually as they are by naming
> persistent and will not auto removed in server side.
> Together with proposed solution from [ZOOKEEPER-4466], it will be clear that
> ZooKeeper has four kind of watchers:
> # Standard data watcher(which includes data and exist watcher in client side).
> # Standard child watcher.
> # Persistent node watcher(aka. data and child watcher for node).
> # Persistent recursive watcher(aka. data watcher for node and its
> descendants).
> See also [ZOOKEEPER-4471]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)