Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-9272

A parallel, unordered scanner

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • None
    • None
    • None
    • None

    Description

      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.

      Attachments

        1. 9272-0.94.txt
          16 kB
          Lars Hofhansl
        2. 9272-0.94-v2.txt
          20 kB
          Lars Hofhansl
        3. 9272-0.94-v3.txt
          18 kB
          Lars Hofhansl
        4. 9272-0.94-v4.txt
          17 kB
          Lars Hofhansl
        5. 9272-trunk.txt
          17 kB
          Lars Hofhansl
        6. 9272-trunk-v2.txt
          18 kB
          Lars Hofhansl
        7. 9272-trunk-v3.txt
          17 kB
          Michael Stack
        8. 9272-trunk-v3.txt
          17 kB
          Lars Hofhansl
        9. 9272-trunk-v4.txt
          17 kB
          Lars Hofhansl
        10. ParallelClientScanner.java
          7 kB
          Lars Hofhansl
        11. ParallelClientScanner.java
          4 kB
          Lars Hofhansl

        Issue Links

          Activity

            People

              Unassigned Unassigned
              larsh Lars Hofhansl
              Votes:
              2 Vote for this issue
              Watchers:
              26 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: