[ 
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)

Reply via email to