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

Jonathan Gray commented on HBASE-1831:
--------------------------------------

I agree that this is not going to be easy.  Still think that filters should not 
be run client-side (even if they are, it will require additional/new 
information to be sent from client to server).

Running an offset of 1000 rows client-side completely negates the value in 
using filters in the first place... to not have to send back all that data.  
That's the reason client-side filters don't really work, they require you to 
send back otherwise filtered-out data.

What I would like to see as a long-term solution to this:

1st: Add ability for server to say STOP and not go to next region
2nd: Correctness for stateful scanners under non-split, non-failure scenarios 
(less correctness / fail-fast if encountering issues)
3rd: Correctness/robustness for stateful scanners under splits and failures

> Scanning API must be reworked to allow for fully functional Filters 
> client-side
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-1831
>                 URL: https://issues.apache.org/jira/browse/HBASE-1831
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.0
>            Reporter: Jonathan Gray
>            Priority: Critical
>             Fix For: 0.20.1, 0.21.0
>
>         Attachments: 1831.patch
>
>
> Right now, a client replays part of the Filter locally by calling 
> filterRowKey() and filterAllRemaining() to determine whether it should 
> continue to the next region.
> A number of new filters rely on filterKeyValue() and other calls to alter 
> state.  It's also a false assumption that all rows/keys affecting a filter 
> returning true for FAR will be seen client-side (what about those that failed 
> the filter).
> This issue is about dealing with Filters properly from the client-side.

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