hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17434) New Synchronization Scheme for Compaction Pipeline
Date Tue, 10 Jan 2017 04:56:58 GMT

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

stack commented on HBASE-17434:
-------------------------------

[~eshcar] You have a bunch of +1s but there are a few nits. You want to do them here? Here
is the list:

 * [~manju_hadoop] says "... With the current patch I would have liked to see either a synchronized(this)
or make the pipeline variable as final which would prevent inadvertent resetting of pipeline
to new LinkedList in future. This is again a very minor observation so we should be good even
without these."
 * [~anoop.hbase] asks about version++ (see above).
 * [~Apache9] suggests volatile readOnlyCopy
 * I have a nit over on RB about use of a synchronized pipeline when it doesn't seem necessary.

Answer the above items and can commit. Thanks boss.

> 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)

Mime
View raw message