Hi Paul,

I've encountered the same problem. I think its fixed as part of
https://issues.apache.org/jira/browse/HBASE-2037

Regards,
Yoram



On Wed, Dec 16, 2009 at 10:45 AM, Paul Ambrose <pambr...@mac.com> wrote:

> I ran into some problems with FilterList and SingleColumnValueFilter.
>
> I created a FilterList with MUST_PASS_ONE and two SingleColumnValueFilters
> (each testing equality on a different columns) and query some trivial data:
>
> http://pastie.org/744890
>
> The problem that I encountered were two-fold:
>
> SingleColumnValueFilter.filterKeyValues() returns ReturnCode.INCLUDE
> if the column names do not match. If FilterList is employed, then when the
> first Filter returns INCLUDE (because the column names do not match), no
> more filters for that KeyValue are evaluated.  That is problematic because
> when filterRow() is finally called for those filters, matchedColumn is
> never
> found to be true because they were not invoked (due to FilterList exiting
> from
> the filterList iteration when the name mismatched INCLUDE was returned).
> The fix (at least for this scenario) is for
> SingleColumnValueFilter.filterKeyValues() to
> return ReturnCode.NEXT_ROW (rather than INCLUDE).
>
> The second problem is at the bottom of FilterList.filterKeyValue()
> where ReturnCode.SKIP is returned if MUST_PASS_ONE is the operator,
> rather than always returning ReturnCode.INCLUDE and then leaving the
> final filter decision to be made by the call to filterRow().   I am sure
> there is a good
> reason for returning SKIP in other scenarios, but it is problematic in
> mine.
>
> Feedback would be much appreciated.
>
> Paul
>
>
>
>
>
>
>
>

Reply via email to