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.
---