[
https://issues.apache.org/jira/browse/HBASE-5827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13401793#comment-13401793
]
Jesse Yates commented on HBASE-5827:
------------------------------------
bq. So actually this would not break any existing CPs at all, it's the
backwards compatible option.
Yeah, you're right. I mis-understood and thought it would be more along the
lines of calling cp.put(...) where the context there also includes the
exception (since you probably care about the original put that borked things).
This is better.
> [Coprocessors] Observer notifications on exceptions
> ---------------------------------------------------
>
> Key: HBASE-5827
> URL: https://issues.apache.org/jira/browse/HBASE-5827
> Project: HBase
> Issue Type: Improvement
> Components: coprocessors
> Reporter: Andrew Purtell
> Assignee: Andrew Purtell
>
> Benjamin Busjaeger wrote on dev@:
> {quote}
> Is there a reason that RegionObservers are not notified when a get/put/delete
> fails? Suppose I maintain some (transient) state in my Coprocessor that is
> created during preGet and discarded during postGet. If the get fails, postGet
> is not invoked, so I cannot remove the state.
> If there is a good reason, is there any other way to achieve the same thing?
> If not, would it be possible to add something the snippet below to the code
> base?
> {code}
> // pre-get CP hook
> if (withCoprocessor && (coprocessorHost != null)) {
> if (coprocessorHost.preGet(get, results)) {
> return results;
> }
> }
> + try{
> ...
> + } catch (Throwable t) {
> + // failed-get CP hook
> + if (withCoprocessor && (coprocessorHost != null)) {
> + coprocessorHost.failedGet(get, results);
> + }
> + rethrow t;
> + }
> // post-get CP hook
> if (withCoprocessor && (coprocessorHost != null)) {
> coprocessorHost.postGet(get, results);
> }
> {code}
> {quote}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira