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