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

huaxiang sun commented on HBASE-20411:
--------------------------------------

I have a patch ready which uses LongAdder for counters in Segment. For the 
counters in Segment, write/update happens in the data path, but the read 
happens in the control path. So LongAdder seems a perfect solution. For 
counters in HRegion, both write/read happens in the data path, so my patch 
falls back to the original AtomicLong approach. I tried to reproduce the issue 
with [~anoop.hbase]'s PE command, but the lock flamegraph cannot reproduce the 
same pattern. Will try to reproduce and report back. May come up with jmh test 
and the result. 

> 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