[ https://issues.apache.org/jira/browse/CURATOR-33?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14082735#comment-14082735 ]
ASF GitHub Bot commented on CURATOR-33: --------------------------------------- Github user dragonsinth commented on the pull request: https://github.com/apache/curator/pull/17#issuecomment-50920900 wasDeleted() can only be called from the watch event / background result thread, not the connection state listener. It is true it can be called concurrently from TreeCache.close(), but I believe wasDeleted() is completely idempotent / concurrency safe. The first several operations are completely idempotent, it's harmless to run them multiple times. After that, there's an escape hatch if the tree is closing (which will have already been set in the TreeCache.close() case). After THAT, there's a an atomic compare-and-set to publish a delete event, which only one thread can win. And the remainder of the method is also idempotent. > Recursive Node Cache > -------------------- > > Key: CURATOR-33 > URL: https://issues.apache.org/jira/browse/CURATOR-33 > Project: Apache Curator > Issue Type: Improvement > Components: Recipes > Reporter: John Vines > Assignee: Jordan Zimmerman > Fix For: TBD > > Attachments: CURATOR-33.2.patch, CURATOR-33.patch > > > Currently the PathChildrenCache will trigger listen events for all children > at the given node. However, it would be useful to have a cache that would > trigger listen events for the entire hierarchy below the given node. -- This message was sent by Atlassian JIRA (v6.2#6252)