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

Lars Hofhansl commented on HBASE-12148:
---------------------------------------

Yeah, we should either do AtomicLongs or synchronized + volatile. I was 
suggesting synchronized + volatile.
AtomicLong vs synchronized+volatile is interesting, we should test. AtomicLong 
(without synchronized) is probably faster (CAS + volatile), especially when 
uncontended. In either case we'll eat at least a memory barrier.

I would not trust code that compares anything between multiple threads that is 
not at least volatile. Not sure of the memory model guarantees even timeline 
consistency between cores without any for of memory barrier (synchronized, 
volatile, or Atomic*)


> Remove TimeRangeTracker as point of contention when many threads writing a 
> Store
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-12148
>                 URL: https://issues.apache.org/jira/browse/HBASE-12148
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance
>    Affects Versions: 2.0.0, 0.99.1
>            Reporter: stack
>            Assignee: stack
>             Fix For: 2.0.0, 0.98.7, 0.99.1
>
>         Attachments: 12148.addendum.txt, 12148.txt, 12148.txt, 12148v2.txt, 
> 12148v2.txt, Screen Shot 2014-10-01 at 3.39.46 PM.png, Screen Shot 2014-10-01 
> at 3.41.07 PM.png
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to