hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vincent Poon (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HBASE-15716) HRegion#RegionScannerImpl scannerReadPoints synchronization constrains random read
Date Thu, 09 Mar 2017 19:00:42 GMT

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

Vincent Poon edited comment on HBASE-15716 at 3/9/17 7:00 PM:
--------------------------------------------------------------

I did a quick test with the patch here.  Using hbase pe randomRead , I get 2 - 3% improvement
in wall clock time for random reads with 10-20 clients.

Posted on HBASE-9899 regarding the getSmallestReadPoint potentially going backwards.

Also fwiw this patch with the lock-free linked list looks to me like it should work, but obviously
much harder to prove correctness than the existing synchronized block.


was (Author: vincentpoon):
I did a quick test with the patch here.  Using hbase pe randomRead , I get 2 - 3% improvement
in wall clock time for random reads with 10-20 clients.

> 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.implementation.using.ScannerReadPoints.branch-1.patch, 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, before_after.png, current-branch-1.vs.NoSynchronization.vs.Patch.png,
HBASE-15716.branch-1.001.patch, HBASE-15716.branch-1.002.patch, HBASE-15716.branch-1.003.patch,
HBASE-15716.branch-1.004.patch, HBASE-15716.branch-1.005.patch, hits.png, remove_cslm.patch,
remove.locks.patch, ScannerReadPoints.java, ScannerReadPoints.v2.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, Screen Shot 2016-06-30 at 9.52.52 PM.png, Screen
Shot 2016-06-30 at 9.54.08 PM.png, TestScannerReadPointDoesntGoBack.java, TestScannerReadPoints.java
>
>
> 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.15#6346)

Mime
View raw message