[
https://issues.apache.org/jira/browse/HBASE-1790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jonathan Gray updated HBASE-1790:
---------------------------------
Attachment: HBASE-1790-v5.patch
Completely changes the KeyFilter stuff from apurtell patch over in HBASE-1807
but retains all the functionality besides family checking (after clarifying
with user on list that he was in fact not looking for that).
Adds more tests. New tests are in TestFilter. There are lots of them, though
could use more FilterList tests.
Adds a couple new classes to filters... BinaryComparator which is a
WritableBAComparable implementing wrapper of Bytes.compareTo(). CompareFilter
is a superclass for RowFilter, QualifierFilter, and ValueFilter classes.
Existing ValueFilter has become SingleColumnValueFilter which is what it
actually does. I actually removed the filterRowIfColumnMissing stuff and
instead created a wrapping filter SkipFilter. You wrap a KV checking filter
with it, and if any KVs in the row fail, the entire row is filtered out.
Couple changes in HRegion code to actually fix filters.
> filters are not working correctly
> ---------------------------------
>
> Key: HBASE-1790
> URL: https://issues.apache.org/jira/browse/HBASE-1790
> Project: Hadoop HBase
> Issue Type: Bug
> Components: filters
> Affects Versions: 0.20.0, 0.21.0
> Reporter: Matus Zamborsky
> Assignee: Jonathan Gray
> Fix For: 0.20.0
>
> Attachments: 1790-3.patch, HBASE-1790-v2.patch, HBASE-1790-v4.patch,
> HBASE-1790-v5.patch, hbase-1790.patch, testfilter.patch
>
>
> Filters used in Scanning the table are not working correctly. For example a
> table with three rows:
> 1. rowkey = adminbackslash-nb0, desc:temp = "temp"
> 2. rowkey = adminbackslash-nb1, desc:temp = "temp"
> 3. rowkey = adminkleptoman, desc:temp = "temp"
> If I scan all rows in the table without filter I get all the rows as
> expected. But applying a simple prefixfilter with parameter "adminbackslash"
> will return only first row. I searched it down to HRegion::nextInternal
> method, which will not output one passed row before denied row(by filter).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.