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

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

I plan to commit v3 shortly so 0.98+ is consistent with 0.94. We can definitely 
follow up with more discussion, alternative filter all filters, etc. on another 
issue. If there's consensus on something else to do, I'd be happy to take up 
that work.

> 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