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

stack commented on HBASE-20411:
-------------------------------

.007 fix tests. The memstore accounting has good coverage to fixing the above 
failing tests uncovered problems in my patch that I was unable to find via 
inspection. The patch runs to completion on cluster doing ycsb now... Doesn't 
get stuck any more. Ready for review.

{code}
    Change the MemStore size accounting so we don't synchronize across three
    volatiles applying deltas. Instead:

         * Make MemStoreSize, a datastructure of our memstore size longs, 
immutable.
           Create a new instance on every increment.
         * Undo MemStoreSizing being an instance of MemStoreSize; instead it 
has-a.
         * Make two MemStoreSizing implementations; one thread-safe, the other 
not.
         * Use an AtomicReference#checkAndPut (lockless) where concurrent 
updates
         * Otherwise, use unsynchronized accounting.
         * Review all use of MemStoreSizing. Many are single-threaded and do
           not need to be synchronized.

    TODO: Use this technique accounting at the global level too.

    M 
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSizing.java
     Make this an Interface. Implementations are a thread-safe instance and
     a non-thread-safe version.
{code}

> Ameliorate MutableSegment synchronize
> -------------------------------------
>
>                 Key: HBASE-20411
>                 URL: https://issues.apache.org/jira/browse/HBASE-20411
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>            Priority: Major
>         Attachments: 2.load.patched.17704.lock.svg, 
> 2.load.patched.2.17704.lock.svg, 2.more.patch.12010.lock.svg, 41901.lock.svg, 
> HBASE-20411.branch-2.0.001.patch, HBASE-20411.branch-2.0.002.patch, 
> HBASE-20411.branch-2.0.003.patch, HBASE-20411.branch-2.0.004.patch, 
> HBASE-20411.branch-2.0.005.patch, HBASE-20411.branch-2.0.006.patch, 
> HBASE-20411.branch-2.0.007.patch
>
>
> This item is migrated from HBASE-20236 so it gets dedicated issue.
> Let me upload evidence that has this synchronize as a stake in our write-time 
> perf. I'll migrate the patch I posted with updates that come of comments 
> posted by [~mdrob] on the HBASE-20236 issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to