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.

    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, 
           Create a new instance on every increment.
         * Undo MemStoreSizing being an instance of MemStoreSize; instead it 
         * Make two MemStoreSizing implementations; one thread-safe, the other 
         * Use an AtomicReference#checkAndPut (lockless) where concurrent 
         * 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.

     Make this an Interface. Implementations are a thread-safe instance and
     a non-thread-safe version.

> 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

Reply via email to