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

2021-01-14 Thread Andrew Kyle Purtell (Jira)


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

Andrew Kyle Purtell updated HBASE-25277:

Fix Version/s: (was: 2.4.0)
   2.4.1

> 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, 2.2.7, 2.3.4, 2.5.0, 2.4.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)


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

2020-12-21 Thread Guanghao Zhang (Jira)


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

Guanghao Zhang updated HBASE-25277:
---
Fix Version/s: 2.2.7

> 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, 2.4.0, 2.2.7, 2.3.4, 2.5.0
>
> 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)


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

2020-12-18 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Resolution: Fixed
Status: Resolved  (was: Patch Available)

Pushed to branch-2.3+ branch. Couldn't merge in branch-2.2 because QA is not 
running due to docker failure.

 [~zghao], please help me to resolved the build problem in  
[https://github.com/apache/hbase/pull/2765] . Resolving this Jira for now.

> 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, 2.3.4, 2.5.0, 2.4.0
>
> 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)


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

2020-12-18 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Fix Version/s: 2.4.0
   2.3.4

> 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, 2.4.0, 2.3.4, 2.5.0
>
> 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)


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

2020-12-08 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Fix Version/s: 2.5.0

> 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, 2.5.0
>
> 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)


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

2020-11-24 Thread ramkrishna.s.vasudevan (Jira)


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

ramkrishna.s.vasudevan updated HBASE-25277:
---
Labels: perfomance scanning  (was: )

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


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

2020-11-24 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Attachment: test_report.png

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


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

2020-11-24 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Attachment: (was: Screenshot from 2020-11-24 15-23-29.png)

> 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
> Fix For: 3.0.0-alpha-1
>
>
> 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)


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

2020-11-24 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Attachment: Screenshot from 2020-11-24 15-23-29.png

> 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
> Fix For: 3.0.0-alpha-1
>
> Attachments: Screenshot from 2020-11-24 15-23-29.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)


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

2020-11-24 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Attachment: Screenshot from 2020-11-24 15-23-29.png

> 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
> Fix For: 3.0.0-alpha-1
>
> Attachments: Screenshot from 2020-11-24 15-23-29.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)


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

2020-11-24 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Attachment: (was: Screenshot from 2020-11-24 15-23-29.png)

> 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
> Fix For: 3.0.0-alpha-1
>
> Attachments: Screenshot from 2020-11-24 15-23-29.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)


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

2020-11-18 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar updated HBASE-25277:
-
Fix Version/s: 3.0.0-alpha-1
   Status: Patch Available  (was: In Progress)

> 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
> Fix For: 3.0.0-alpha-1
>
>
> 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)