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

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

bq. Does it require hasFilterRow() to return true?

Doesn't seem to because this still managed to filter out cells. But do we even 
need filterRow at all? Let's just remove it.

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