[ 
https://issues.apache.org/jira/browse/HBASE-15716?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-15716:
--------------------------
    Attachment: Screen Shot 2016-04-26 at 2.25.26 PM.png
                remove_cslm.patch

This patch removes the CSLM in favor of a HM since we don't need CSLM 
especially given we are synchronizing currently... only, it doesn't help. FR 
still notes the synchronizes (and throughput is same as w/ CSLM..)

So, [~lhofhansl]... do we need to synchronize in here? We lock because we want 
the smallest read point... the oldest outstanding scanner. Does the lock help 
here? The lock will ensure we see newer scanners.... but we don't care about 
newer scanners.... just the one w/ the oldest read point. Can we just remove 
this synchronization and just pivot on the content of the scannerReadPoints 
CSLM?

Let me put up a patch.

> HRegion#RegionScannerImpl scannerReadPoints synchronization costs
> -----------------------------------------------------------------
>
>                 Key: HBASE-15716
>                 URL: https://issues.apache.org/jira/browse/HBASE-15716
>             Project: HBase
>          Issue Type: Bug
>          Components: Performance
>            Reporter: stack
>         Attachments: Screen Shot 2016-04-26 at 2.05.45 PM.png, Screen Shot 
> 2016-04-26 at 2.06.14 PM.png, Screen Shot 2016-04-26 at 2.07.06 PM.png, 
> Screen Shot 2016-04-26 at 2.25.26 PM.png, remove_cslm.patch
>
>
> Here is a [~lhofhansl] special.
> When we construct the region scanner, we get our read point and then store it 
> with the scanner instance in a Region scoped CSLM. This is done under a 
> synchronize on the CSLM.
> This synchronize on a region-scoped Map creating region scanners is the 
> outstanding point of lock contention according to flight recorder (My work 
> load is workload c, random reads).



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

Reply via email to