You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Hudson (Jira)" <ji...@apache.org> on 2020/12/08 13:09:00 UTC

[jira] [Commented] (HBASE-25277) postScannerFilterRow impacts Scan performance a lot in HBase 2.x

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

Hudson commented on HBASE-25277:
--------------------------------

Results for branch master
	[build #152 on builds.a.o|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/152/]: (/) *{color:green}+1 overall{color}*
----
details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/152/General_20Nightly_20Build_20Report/]






(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/152/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 report|https://ci-hadoop.apache.org/job/HBase/job/HBase%20Nightly/job/master/152/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> postScannerFilterRow impacts Scan performance a lot in HBase 2.x
> ----------------------------------------------------------------
>
>                 Key: HBASE-25277
>                 URL: https://issues.apache.org/jira/browse/HBASE-25277
>             Project: HBase
>          Issue Type: Bug
>          Components: Coprocessors, scan
>            Reporter: Pankaj Kumar
>            Assignee: Pankaj Kumar
>            Priority: Critical
>              Labels: perfomance, scanning
>             Fix For: 3.0.0-alpha-1
>
>         Attachments: test_report.png
>
>
> In our test we observed Scan performance is degraded by more than 60% in HBase-2.x as compared to 1.3.x.  As per the flamegraph report, RS spent 31% of the time in postScannerFilterRow, however the coprocessors (AccessController, VisibilityController & ConstraintProcessor) does nothing in that hook.
> HBASE-14489 added the logic to avoid the call to postScannerFilterRow when not needed which is not working as expected in HBase 2.x. AccessController, VisibilityController & ConstraintProcessor override the postScannerFilterRow with dummy (same as RegionObserver) implementation, so RegionCoprocessorHost.hasCustomPostScannerFilterRow will be TRUE and call the hook for all configured CPs while processing each row .  Suppose we have configured 5 region CPs and there are 1 M rows in table, then there will be 1 * 5 M dummy call to postScannerFilterRow during whole table scan.
> We need to remove postScannerFilterRow hook from these CPs as these are not doing anything.
> Another problem is in RegionCoprocessorHost.hasCustomPostScannerFilterRow init logic, currently it is always TRUE even though we remove postScannerFilterRow hook from AccessController, VisibilityController & ConstraintProcessor, because we are finding  postScannerFilterRow until  it is found (we look in configured CP's super class also) or clazz is NULL.
> https://github.com/apache/hbase/blob/035c192eb665469ce0c071db86c78f4a873c123b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java#L301
> Supper class of Object (super class of AccessController) will be NULL, so RegionCoprocessorHost.hasCustomPostScannerFilterRow will be set as TRUE
> https://github.com/apache/hbase/blob/035c192eb665469ce0c071db86c78f4a873c123b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java#L279



--
This message was sent by Atlassian Jira
(v8.3.4#803005)