hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiroshi Ikeda (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15716) HRegion#RegionScannerImpl scannerReadPoints synchronization costs
Date Thu, 28 Apr 2016 06:59:12 GMT

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

Hiroshi Ikeda commented on HBASE-15716:
---------------------------------------

{quote}
Can you say more please? I do not follow how it goes 'back' since we do
readPoint = currentReadPoint;
at the bottom of the loop.
{quote}

Calculating the smallest readpoint can be called by another thread, even before the loop is
complete. The thread can see that the smallest readpoint goes back, theoretically.

{quote}
Yes, if we miss the close, a reference to the Scanner will be held here.
{quote}

I mean, it is enough to just make a reference count to zero, and drop later the entry when
calculating the smallest readpoint. Moreover, implementation of a concurrent map is generally
complex and heavy than a queue.

{quote}
Let me look at an implementation using your suggested types....
{quote}

To tell the truth, that suggestion might be a little sophisticated and difficult (or overdoing
:P)

> 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
>            Assignee: stack
>         Attachments: 15716.prune.synchronizations.patch, 15716.prune.synchronizations.v3.patch,
15716.prune.synchronizations.v4.patch, 15716.prune.synchronizations.v4.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, Screen Shot 2016-04-27 at 9.49.35 AM.png, current-branch-1.vs.NoSynchronization.vs.Patch.png,
hits.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)

Mime
View raw message