[
https://issues.apache.org/jira/browse/ZOOKEEPER-4471?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17731018#comment-17731018
]
Kezhu Wang commented on ZOOKEEPER-4471:
---------------------------------------
The test commit was constructed incorrectly. I commit another two to
demonstrate the problem.
* One [commit
before|https://github.com/kezhuw/zookeeper/commit/741fafdcdd2e0e4600d16b8f152e5736bbdce92c]
ZOOKEEPER-4466.
* One [commit
after|https://github.com/kezhuw/zookeeper/commit/ff2288ee17e5cfd42d95970dc6e2bffb50cc0d73]
ZOOKEEPER-4466.
Their diffs are same, only the rebase commits are different.
> 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
> 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)