[
https://issues.apache.org/jira/browse/HBASE-18267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16135151#comment-16135151
]
Ashish Singhi commented on HBASE-18267:
---------------------------------------
{{RegionCoprocessorHost}} class is marked as {{HBaseInterfaceAudience.COPROC}}
so is it fine to change the signature of an API in a patch version ? I'm not
sure whether any project outside HBase is extending this class but this does
break what we have mentioned in our book.
{code}
HBase LimitedPrivate API
LimitedPrivate annotation comes with a set of target consumers for the
interfaces. Those consumers are coprocessors, phoenix, replication endpoint
implementations or similar. At this point, HBase only guarantees source and
binary compatibility for these interfaces between patch versions.
{code}
> The result from the postAppend is ignored
> -----------------------------------------
>
> Key: HBASE-18267
> URL: https://issues.apache.org/jira/browse/HBASE-18267
> Project: HBase
> Issue Type: Bug
> Components: Coprocessors
> Affects Versions: 1.3.0, 1.3.1, 1.2.6, 2.0.0-alpha-1
> Reporter: Chia-Ping Tsai
> Assignee: Chia-Ping Tsai
> Fix For: 3.0.0, 1.4.0, 1.3.2, 1.5.0, 1.2.7, 2.0.0-alpha-2
>
> Attachments: HBASE-18267.branch-1.2.v0.patch,
> HBASE-18267.branch-1.3.v0.patch, HBASE-18267.branch-1.v0.patch,
> HBASE-18267.v0.patch, HBASE-18267.v1.patch
>
>
> {code:title=RegionCoprocessorHost.java|borderStyle=solid}
> /**
> * @param append Append object
> * @param result the result returned by the append
> * @throws IOException if an error occurred on the coprocessor
> */
> public void postAppend(final Append append, final Result result) throws
> IOException {
> execOperation(coprocessors.isEmpty() ? null : new RegionOperation() {
> @Override
> public void call(RegionObserver oserver,
> ObserverContext<RegionCoprocessorEnvironment> ctx)
> throws IOException {
> oserver.postAppend(ctx, append, result);
> }
> });
> }
> /**
> * @param increment increment object
> * @param result the result returned by postIncrement
> * @throws IOException if an error occurred on the coprocessor
> */
> public Result postIncrement(final Increment increment, Result result)
> throws IOException {
> return execOperationWithResult(result,
> coprocessors.isEmpty() ? null : new
> RegionOperationWithResult<Result>() {
> @Override
> public void call(RegionObserver oserver,
> ObserverContext<RegionCoprocessorEnvironment> ctx)
> throws IOException {
> setResult(oserver.postIncrement(ctx, increment, getResult()));
> }
> });
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)