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

HTable#coprocessorExec always scan the whole table

VotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.94.1, 0.95.0, 0.95.2
    • Fix Version/s: 0.98.0, 0.94.8, 0.95.1
    • Component/s: Coprocessors
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      In current logic, HTable#coprocessorExec always scans the entire META table, loading it into memory and then filters the keys to return only those that fall in specified range. The version after the patch only scans the portions of meta that are in the specified key range, and returns them. Put simply – before we did a load-all-then-filter; afterwards we only-scan-what-is-needed.

      The former has low efficiency and greatly impacts the Regionserver carrying .META. when there are many coprocessorExec requests.

        Attachments

        1. 6870-v4.txt
          7 kB
          Ted Yu
        2. hbase-0.94-6870v6.patch
          4 kB
          Chunhui Shen
        3. hbase-0.95-6870v6.patch
          4 kB
          Chunhui Shen
        4. HBASE-6870.patch
          6 kB
          Chunhui Shen
        5. HBASE-6870-testPerformance.patch
          3 kB
          Chunhui Shen
        6. HBASE-6870v2.patch
          5 kB
          Chunhui Shen
        7. HBASE-6870v3.patch
          6 kB
          Chunhui Shen
        8. hbase-6870v5.patch
          7 kB
          Chunhui Shen
        9. hbase-6870v6.patch
          4 kB
          Chunhui Shen

        Issue Links

          Activity

            People

            • Assignee:
              zjushch Chunhui Shen
              Reporter:
              zjushch Chunhui Shen

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment