Nick Hill created CURATOR-447:
---------------------------------

             Summary: TreeCache: Improve memory usage and thread safety
                 Key: CURATOR-447
                 URL: https://issues.apache.org/jira/browse/CURATOR-447
             Project: Apache Curator
          Issue Type: Improvement
          Components: Recipes
    Affects Versions: 2.12.0, 3.3.0
            Reporter: Nick Hill
            Priority: Minor


Jira https://issues.apache.org/jira/browse/CURATOR-374 reduced per-node memory 
usage in {{TreeCache}}. It can be improved further via removal of the 
{{nodeState}} field - its {{LIVE}} state corresponds exactly to the adjacent 
{{childData}} field being non-null, and a sentinel {{ChildData}} value can be 
used for the {{DEAD}} state. This simplification also reduces the room for bugs 
and state inconsistencies.

Other improvements included:
* A further simplification to have {{TreeNode}} extend {{AtomicReference}}, 
which obviates the need for an explicit {{childData}} field
* More robust cache update logic (in get-children and get-data event callbacks)
* Avoid overhead of incrementing/decrementing the {{outstandingOps}} atomic 
integer post-initialization



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to