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

Andrew Purtell commented on HBASE-5664:
---------------------------------------

bq. Internal patch that we had, ported to the latest 94 branch. Pls give your 
comments.

It looks plausible to me. The new hook is only called once per row. 

bq. What if RegionObserver1 returns false for hasMore and then RegionObserver2 
returns true for hasMore ?

This kind of chaining is a typical pattern for CP hooks. CPs and the users who 
use them have to deal with that in current framework design.
                
> CP hooks in Scan flow for fast forward when filter filters out a row
> --------------------------------------------------------------------
>
>                 Key: HBASE-5664
>                 URL: https://issues.apache.org/jira/browse/HBASE-5664
>             Project: HBase
>          Issue Type: Improvement
>          Components: Coprocessors
>    Affects Versions: 0.92.1
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 0.96.0, 0.94.5
>
>         Attachments: HBASE-5664_94.patch
>
>
> In HRegion.nextInternal(int limit, String metric)
>       We have while(true) loop so as to fetch a next result which satisfies 
> filter condition. When Filter filters out the current fetched row we call 
> nextRow(byte [] currentRow) before going with the next row.
> {code}        
> if (results.isEmpty() || filterRow()) {
>             // this seems like a redundant step - we already consumed the row
>             // there're no left overs.
>             // the reasons for calling this method are:
>             // 1. reset the filters.
>             // 2. provide a hook to fast forward the row (used by subclasses)
>             nextRow(currentRow);
> {code}
> // 2. provide a hook to fast forward the row (used by subclasses)
> We can provide same feature of fast forward support for the CP also.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to