hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11745) FilterAllFilter should return ReturnCode.SKIP
Date Thu, 14 Aug 2014 17:38:13 GMT

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

Lars Hofhansl 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.

In that case it seems we would need multiple filters hat filter everything. Here I thought
the aim was to measure the internal "friction" of HBase during scanning. For that returning
SKIP from filterKeyValue makes sense. What you describe is another usecase (at least from
the one that I assumed).

> 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

View raw message