hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17434) New Synchronization Scheme for Compaction Pipeline
Date Fri, 06 Jan 2017 20:19:58 GMT

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

Ted Yu commented on HBASE-17434:
--------------------------------

bq. it does not use any CopyOnWrite data structures
bq. It does not add any synchronization.

Latest patch on HBASE-17379 satisfies the above as well.

bq. It removes the synchronization from getSegments() 

This is a corollary of the copy on write semantics.
I incorporated this change in patch v31 for HBASE-17379. So far TestHRegionWithInMemoryFlush
has passed 8 iterations and is still running.


> 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
>         Attachments: HBASE-17434-V01.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)

Mime
View raw message