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

Jonathan Hsieh updated HBASE-6870:
----------------------------------

    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.



  was:
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.



    
> HTable#coprocessorExec always scan the whole table 
> ---------------------------------------------------
>
>                 Key: HBASE-6870
>                 URL: https://issues.apache.org/jira/browse/HBASE-6870
>             Project: HBase
>          Issue Type: Improvement
>          Components: Coprocessors
>    Affects Versions: 0.94.1, 0.95.0, 0.95.2
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>            Priority: Critical
>             Fix For: 0.98.0, 0.94.8, 0.95.1
>
>         Attachments: 6870-v4.txt, hbase-0.94-6870v6.patch, 
> hbase-0.95-6870v6.patch, HBASE-6870.patch, HBASE-6870-testPerformance.patch, 
> HBASE-6870v2.patch, HBASE-6870v3.patch, hbase-6870v5.patch, hbase-6870v6.patch
>
>
> 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.

--
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

Reply via email to