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