[
https://issues.apache.org/jira/browse/ZOOKEEPER-4471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kezhu Wang updated ZOOKEEPER-4471:
----------------------------------
Fix Version/s: 3.9.0
> Remove WatcherType.Children break persistent watcher's child events
> -------------------------------------------------------------------
>
> Key: ZOOKEEPER-4471
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4471
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Affects Versions: 3.6.3, 3.7.0
> Reporter: Kezhu Wang
> Assignee: Kezhu Wang
> Priority: Major
> Labels: pull-request-available
> Fix For: 3.9.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> {{AddWatchMode.PERSISTENT}} was divided as data and child watch in server
> side. When remove {{WatcherType.Children}}, child part of
> {{AddWatchMode.PERSISTENT}} is removed but not its data part. This could
> introduce trick usage of persistent data watch while there is no official api
> for this. It is better forbid this by dedicate {{WatcherType.Children}} to
> standard child watch only.
> I
> [commits|https://github.com/kezhuw/zookeeper/commit/f7a996646074114830bdc2361e8ff679d08c00bc]
> a modified {{RemoveWatchesTest.testRemoveAllChildWatchesOnAPath}} in my
> local repo to reproduce this.
> I think it is better to support {{removeWatches}} for two persistent watchers
> too. But it might be a separate issue.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)