[
https://issues.apache.org/jira/browse/CURATOR-332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15303031#comment-15303031
]
ASF GitHub Bot commented on CURATOR-332:
----------------------------------------
GitHub user Randgalt opened a pull request:
https://github.com/apache/curator/pull/154
[CURATOR-332] Internal watcher tracking for new
WatcherRemoveCuratorFramework feature is not correct
Reworked WatcherRemovalManager. It now stores watchers only on successful
operations. This is more like how ZK does it.
Also, exists watcher must be stored when there is a NoNode result.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/curator CURATOR-332
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/curator/pull/154.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #154
----
commit f59f23c703815317d4ef1d39e2b815e402d1559b
Author: randgalt <[email protected]>
Date: 2016-05-26T21:59:08Z
Reworked WatcherRemovalManager. It now stores watchers only on successful
operations. This is more like how ZK does it.
Also, exists watcher must be stored when there is a NoNode result.
----
> Internal watcher tracking for new WatcherRemoveCuratorFramework feature is
> not correct
> --------------------------------------------------------------------------------------
>
> Key: CURATOR-332
> URL: https://issues.apache.org/jira/browse/CURATOR-332
> Project: Apache Curator
> Issue Type: Bug
> Components: Framework, Recipes
> Affects Versions: 3.1.0
> Reporter: Jordan Zimmerman
> Assignee: Jordan Zimmerman
> Fix For: 3.2.0
>
>
> The WatcherRemoveCuratorFramework introduced in 3.0.0 doesn't track watchers
> correctly and can sometimes lose track of some watchers and, thus, not delete
> them when requested to. Examples:
> * Exists watchers stay set even when there is a NoNode exception
> * If a watcher is successfully set and then the same watcher is used during a
> network failure, WatcherRemoveCuratorFramework will clear the watcher
> internally.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)