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 constrains random read
Date Thu, 30 Jun 2016 07:43:10 GMT

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

Hiroshi Ikeda commented on HBASE-15716:

As to RpcServer, instead of blocking each other between the Listener thread and Reader threads
in order to have Listener touch Reader's selector, it is better to replace
class Reader .... {
private volatile bolean adding = false;
class Reader ... {
private final Queue<Connection> registrationQueue = new ConcurrentLinkedQueue<Connection>();

And make the reader thread itself call {{connection.channel.register(selector, OP_READ, connection)}}
after waking up at Selector.select().

> HRegion#RegionScannerImpl scannerReadPoints synchronization constrains random read
> ----------------------------------------------------------------------------------
>                 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, 15716.wip.more_to_be_done.patch,
HBASE-15716.branch-1.001.patch, HBASE-15716.branch-1.002.patch, HBASE-15716.branch-1.003.patch,
HBASE-15716.branch-1.004.patch, ScannerReadPoints.java, 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, TestScannerReadPoints.java, before_after.png, current-branch-1.vs.NoSynchronization.vs.Patch.png,
hits.png, remove.locks.patch, 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