hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10485) PrefixFilter#filterKeyValue() should perform filtering on row key
Date Mon, 10 Feb 2014 05:19:23 GMT

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

ramkrishna.s.vasudevan commented on HBASE-10485:
------------------------------------------------

Is it need to be fixed in the Prefixfilter.  This fix would mean that for every KV we would
evaluate the row part of it.  Ideally prefixfilters are for acting on the entire row (and
not on KV).
What I would think is the filter AlwaysNextColFilter should say filterRow() as true?
The filter's idea is not to include any KV and tries to do next_col.  Then finally saying
filterRow() as false would mean that though i filtered out, i need that row.  
Our FilterBase gives a default impl but still it makes sense to make filterRow() as true rather
than fixing it in Prefixfilter.
Thoughts?

> PrefixFilter#filterKeyValue() should perform filtering on row key
> -----------------------------------------------------------------
>
>                 Key: HBASE-10485
>                 URL: https://issues.apache.org/jira/browse/HBASE-10485
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>             Fix For: 0.98.0, 0.99.0
>
>         Attachments: 10485-0.94.txt, 10485-v1.txt
>
>
> Niels reported an issue under the thread 'Trouble writing custom filter for use in FilterList'
where his custom filter used in FilterList along with PrefixFilter produced an unexpected
results.
> His test can be found here:
> https://github.com/nielsbasjes/HBase-filter-problem
> This is due to PrefixFilter#filterKeyValue() using FilterBase#filterKeyValue() which
returns ReturnCode.INCLUDE
> When FilterList.Operator.MUST_PASS_ONE is specified, FilterList#filterKeyValue() would
return ReturnCode.INCLUDE even when row key prefix doesn't match meanwhile the other filter's
filterKeyValue() returns ReturnCode.NEXT_COL



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message