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)