hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15716) HRegion#RegionScannerImpl scannerReadPoints synchronization costs
Date Wed, 27 Apr 2016 01:36:12 GMT

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

Lars Hofhansl commented on HBASE-15716:

Hmm... As is we need the synchronized I think. Off-hand I cannot think of any way out of this.
The problem is that adding a readpoint and finding the oldest need to be in sync.

"Add" alters the CSLM, in theory we cannot be entirely sure in what ways. Since it is true
that we will *never* add an older scanner later, it *might* work to keep the CSLM and not
synchronize - and anyway, we're taking the same risk by not synchronizing on removing already.
We could potentially miss the first scanner added, though.

Lemme mull this over some more.

> 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: 15716.prune.synchronizations.patch, 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, Screen Shot 2016-04-26 at 6.02.29 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

View raw message