hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9272) A simple parallel, unordered scanner
Date Thu, 22 Aug 2013 03:51:51 GMT

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

Anoop Sam John commented on HBASE-9272:
---------------------------------------

Encouraging numbers Lars...
Can we have a test with much more #regions?  The #threads should be well below #regions..
 Can the client be little more intelligent so as to distribute the load to all the RSs at
a given point in time..  Say 10 threads in client side and 10 RSs and there are 1000 regions.
At a given point in time, there is chance that all 10 client threads contacting regions which
are in same RS. So all other RSs will be idle for that time. May be for a begining a simple
patch would be enough. These are improvements we can try later also.   Good one Lars.
                
> A simple parallel, unordered scanner
> ------------------------------------
>
>                 Key: HBASE-9272
>                 URL: https://issues.apache.org/jira/browse/HBASE-9272
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>            Priority: Minor
>         Attachments: ParallelClientScanner.java, ParallelClientScanner.java
>
>
> The contract of ClientScanner is to return rows in sort order. That limits the order
in which region can be scanned.
> I propose a simple ParallelScanner that does not have this requirement and queries regions
in parallel, return whatever gets returned first.
> This is generally useful for scans that filter a lot of data on the server, or in cases
where the client can very quickly react to the returned data.
> I have a simple prototype (doesn't do error handling right, and might be a bit heavy
on the synchronization side - it used a BlockingQueue to hand data between the client using
the scanner and the threads doing the scanning, it also could potentially starve some scanners
long enugh to time out at the server).
> On the plus side, it's only a 130 lines of code. :)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message