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