You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2014/08/14 18:56:12 UTC

[jira] [Updated] (HBASE-11745) FilterAllFilter should return ReturnCode.SKIP

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

Andrew Purtell updated HBASE-11745:
-----------------------------------

    Attachment: HBASE-11745.patch

Attached fix for the reported problem plus removal of code that doesn't do anything useful in parseFrom.

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