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