[ https://issues.apache.org/jira/browse/HBASE-17434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15813502#comment-15813502 ]
Duo Zhang commented on HBASE-17434: ----------------------------------- Consider declaring readOnlyCopy as volatile if you want to access it without lock in some methods. Looks good overall. +1. > New Synchronization Scheme for Compaction Pipeline > -------------------------------------------------- > > Key: HBASE-17434 > URL: https://issues.apache.org/jira/browse/HBASE-17434 > Project: HBase > Issue Type: Bug > Reporter: Eshcar Hillel > Assignee: Eshcar Hillel > Attachments: HBASE-17434-V01.patch, HBASE-17434-V02.patch, > HBASE-17434-V03.patch, HBASE-17434.master.001.patch > > > A new copyOnWrite synchronization scheme is introduced for the compaction > pipeline. > The new scheme is better since it removes the lock from getSegments() which > is invoked in every get and scan operation, and it reduces the number of > LinkedList objects that are created at runtime, thus can reduce GC (not by > much, but still...). > In addition, it fixes the method getTailSize() in compaction pipeline. This > method creates a MemstoreSize object which comprises the data size and the > overhead size of the segment and needs to be atomic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)