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

Andrew Purtell commented on HBASE-11745:
----------------------------------------

bq. I added that to see from reading a cell from the scanner upto the region 
wanted to see if there is a need for cell to kv conversion particularly with 
Encoders.

INCLUDE from filterKeyValue and drop at filterRow has the unfortunate effect of 
1) tons of unnecessary object allocations, which impacts server side 
assessments we might be making with the filter active, 2) is surprising, and 3) 
not being consistent with 0.94 (although we could change 0.94) 

> FilterAllFilter should return ReturnCode.SKIP
> ---------------------------------------------
>
>                 Key: HBASE-11745
>                 URL: https://issues.apache.org/jira/browse/HBASE-11745
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>             Fix For: 0.99.0, 2.0.0, 0.98.6
>
>         Attachments: HBASE-11745.patch, HBASE-11745_v2.patch, 
> HBASE-11745_v3.patch
>
>
> FilterAllFilter is a filter in hbase-server's test packages used by 
> PerformanceEvaluation to filter all results at the server when given the 
> --filterAll command line argument. There is an unfortunate bug in versions 
> greater than 0.94 (where I rewrote this filter and didn't notice the issue in 
> later versions at the time):
> {code}
>   @Override
>   public ReturnCode filterKeyValue(Cell v) throws IOException {
>     return ReturnCode.INCLUDE;
>   }
> {code}
> This is obviously wrong, and results in the creation of KeyValue objects that 
> we will almost immediately throw away when processing filterRow for backwards 
> compatibility, which FilterAllFilter implements as:
> {code}
>   @Override
>   public boolean filterRow() throws IOException {
>     return true;
>   }
> {code}
> We noticed this problem when comparing object allocations during RPC 
> processing between 0.94 and 0.98.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to