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] [Updated] (HBASE-9272) A parallel, unordered scanner
Date Fri, 25 Oct 2013 02:34:02 GMT

     [ https://issues.apache.org/jira/browse/HBASE-9272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Lars Hofhansl updated HBASE-9272:
---------------------------------

    Attachment: 9272-trunk-v4.txt

Rebased. TestRegionObserverScannerOpenHook passes locally for me.

Should this support scan metrics? It would need to aggregate the individual scan metrics,
and hence need somewhat of a redesign (need to keep track of the all the individual tasks
via futures and then wait for them to finish).
Or could maybe pass along with the marker result at the end.

> A 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
>             Fix For: 0.98.0, 0.94.13, 0.96.1
>
>         Attachments: 9272-0.94.txt, 9272-0.94-v2.txt, 9272-0.94-v3.txt, 9272-0.94-v4.txt,
9272-trunk.txt, 9272-trunk-v2.txt, 9272-trunk-v3.txt, 9272-trunk-v3.txt, 9272-trunk-v4.txt,
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 was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message