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)