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

Matus Zamborsky commented on HBASE-1790:
----------------------------------------

I would ask you to pay attention to my post from few days:

Is anybody using filters when scanning table? I recently created "(HBASE-1790) 
filters are not working correctly" and submitted a patch, but latter I found 
that stateful filters are still not working. I have already rewrited the 
HRegion::nextInternal function and filters(not submitted patch yet). As I see 
it, there were more problems.
1. filters are applyed before deleted rows were discarted(so they were count in 
when scaning, this is problem for PageFilter)
2. filters like PageFilter reset their state in reset function, but this 
function is called in HRegion::nextInternal, so it would be good to mention in 
javadoc for Filter::reset, where in the process of filtering is this method 
called.
3. last problem is a question, why there is Filter::filterRow called in 
HRegion::nextInternal, when it should be called after 
Filter::filterKeyValue(KeyValue) which is not called in HRegion::nextInternal.
So my last question is, is anybody using filters, because their are seriously 
not working correctly at all. And if there is someone, which filter do you use?


Basically, the patch is not working for statefull filters, but I could make 
one, which apparently work, but I would be very grateful if somebody tests it. 

> 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
>             Fix For: 0.20.0
>
>         Attachments: hbase-1790.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.

Reply via email to