[ https://issues.apache.org/jira/browse/ZOOKEEPER-442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13872334#comment-13872334 ]
Raul Gutierrez Segales commented on ZOOKEEPER-442: -------------------------------------------------- Sorry guys to distract you from fixing the leak and the tests but there's one small code smell (imho) in the last version of the patch: {noformat} + if (watchers.size() <= 0) { + pathVsWatcher.remove(path); + } {noformat} watchers.size() == 0 should suffice, *if* (as pointed out by Patrick) all our access around watchers is synchronized. We don't see to be enforcing that so we might have some races around that. > need a way to remove watches that are no longer of interest > ----------------------------------------------------------- > > Key: ZOOKEEPER-442 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-442 > Project: ZooKeeper > Issue Type: Sub-task > Components: java client, server > Reporter: Benjamin Reed > Assignee: Rakesh R > Priority: Critical > Fix For: 3.5.0 > > Attachments: Remove Watch API.pdf, ZOOKEEPER-442.patch, > ZOOKEEPER-442.patch, ZOOKEEPER-442.patch, ZOOKEEPER-442.patch, > ZOOKEEPER-442.patch, ZOOKEEPER-442.patch, ZOOKEEPER-442.patch, > ZOOKEEPER-442.patch, ZOOKEEPER-442.patch, ZOOKEEPER-442.patch, > ZOOKEEPER-442.patch, ZOOKEEPER-442.patch, ZOOKEEPER-442.patch, > ZOOKEEPER-442.patch > > > currently the only way a watch cleared is to trigger it. we need a way to > enumerate the outstanding watch objects, find watch events the objects are > watching for, and remove interests in an event. -- This message was sent by Atlassian JIRA (v6.1.5#6160)