[ 
https://issues.apache.org/jira/browse/CURATOR-447?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16361419#comment-16361419
 ] 

ASF GitHub Bot commented on CURATOR-447:
----------------------------------------

Github user dragonsinth commented on the issue:

    https://github.com/apache/curator/pull/250
  
    @njhill this looks good to me with a few changes.  I pushed one extra 
commit onto https://github.com/apache/curator/tree/CURATOR-447 for you to look 
at.  If you agree with my changes (some of them are to conform to the project 
style) please sync your branch to mine and I'll merge this.


> TreeCache: Improve memory usage and concurrent update logic
> -----------------------------------------------------------
>
>                 Key: CURATOR-447
>                 URL: https://issues.apache.org/jira/browse/CURATOR-447
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Recipes
>    Affects Versions: 3.3.0, 2.12.0
>            Reporter: Nick Hill
>            Priority: Minor
>              Labels: performance
>
> 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
(v7.6.3#76005)

Reply via email to