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

HBase Review Board commented on HBASE-3348:
-------------------------------------------

Message from: "Jonathan Gray" <[email protected]>

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.cloudera.org/r/1295/#review2065
-----------------------------------------------------------

Ship it!


Looks great.  Thanks Andy!


src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserverCoprocessor.java
<http://review.cloudera.org/r/1295/#comment6480>

    We had discussed these returning the return type but we'll pass in an empty 
result instead?



src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserverCoprocessor.java
<http://review.cloudera.org/r/1295/#comment6481>

    so here we have to because it's a primitive.  so is there a reason not to 
do this elsewhere on the pre methods?
    
    Or, this is for chaining, that's why... got it



src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
<http://review.cloudera.org/r/1295/#comment6482>

    there shouldn't be @return javadoc now, right?
    
    I think it would be noting in the javadoc that you can modify the result 
that is passed in though.



src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
<http://review.cloudera.org/r/1295/#comment6483>

    if i don't do bypass/complete, and i play with this Result, what is the 
impact?  do we just drop this if the flags don't get set?



src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java
<http://review.cloudera.org/r/1295/#comment6484>

    looks like we drop the result.  makes sense.  not sure if we should add 
something to some doc somewhere but it's clear to me now.


- Jonathan





> Allow Observers to completely override base function
> ----------------------------------------------------
>
>                 Key: HBASE-3348
>                 URL: https://issues.apache.org/jira/browse/HBASE-3348
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>             Fix For: 0.92.0
>
>         Attachments: HBASE-3348.patch
>
>
> Currently an observer can act as a filter or translator but cannot stop a 
> subsequent call down to the base method for get, put, delete, etc. This means 
> an observer cannot completely override the base function. To deal with this 
> we can:
> - Change the preXXX methods to return the same type as the postXXX methods, 
> the same return type of the base method. 
> - Extend {{Coprocessor.Environment}} with methods that get/set a "should 
> continue" flag. 
> The framework should check the "should continue" flag before calling the base 
> method. If not, just return what was returned by the preXXX method. 

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