Github user dragonsinth commented on the issue:

    https://github.com/apache/curator/pull/250
  
    Hi @njhill just got back to work from vacation, and this is a little more 
than I can just eyeball, I gotta think through it a bit when I have more time.  
I think I would like to see the removal of `nodeState` in isolation, perhaps 
with an explicit `PENDING` sentinel rather than just `null`.
    
    It's not clear to me that `TreeNode extends AtomicReference` and `@Nullable 
outstandingOps` are wins.  The first one doesn't really save any memory, and 
for the second one, the ongoing CPU cost to update `outstandingOps` is 
basically nothing, it's almost certainly immeasurably tiny, and you have to 
introduce racy field reads to accomplish it.
    
    Have you done memory use measurements?  I would expect the memory footprint 
of `ConcurrentMap<String, TreeNode> children` to mostly dominate the memory 
overhead of our own classes, not to mention all the Watchers.


---

Reply via email to