[ https://issues.apache.org/jira/browse/HBASE-17434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15812611#comment-15812611 ]
Edward Bortnikov commented on HBASE-17434: ------------------------------------------ Suggest to commit. This patch has been well discussed and verified. Would be much more convenient to fix and re-submit HBASE-17081 with a solid synchronization scheme in place. We are trying to solve a bunch of issues that piled up in the CompactingMemstore implementation. This one is a roadblock. Once again, thanks to all who contributed to improving the solution's quality. > 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)