Skip to content

Commit

Permalink
HBASE-28770 Support partial results in AggregateImplementation and As…
Browse files Browse the repository at this point in the history
…yncAggregationClient (addendum)

This addendum is only for branch-2.6. It is intended to enable binary compatibility for an
existing client that implements its own AsyncTable, when upgrading from 2.6.0 to 2.6.1.
  • Loading branch information
ndimiduk committed Oct 8, 2024
1 parent 53118fe commit 22f80ff
Showing 1 changed file with 9 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import org.apache.hadoop.hbase.io.TimeRange;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.yetus.audience.InterfaceAudience;
import org.slf4j.LoggerFactory;

import org.apache.hbase.thirdparty.com.google.common.base.Preconditions;

Expand Down Expand Up @@ -792,6 +793,12 @@ <S, R> CoprocessorServiceBuilder<S, R> coprocessorService(Function<RpcChannel, S
* server does not offer partial results, it is still safe to use this, assuming you implement
* your {@link PartialResultCoprocessorCallback#getNextCallable(Object, RegionInfo)} correctly.
*/
<S, R> CoprocessorServiceBuilder<S, R> coprocessorService(Function<RpcChannel, S> stubMaker,
ServiceCaller<S, R> callable, PartialResultCoprocessorCallback<S, R> callback);
default <S, R> CoprocessorServiceBuilder<S, R> coprocessorService(
Function<RpcChannel, S> stubMaker, ServiceCaller<S, R> callable,
PartialResultCoprocessorCallback<S, R> callback) {
LoggerFactory.getLogger(AsyncTable.class).warn(
"Calling coprocessorService with default implementation that does not fully implement the"
+ " PartialResultCoprocessorCallback interface.");
return coprocessorService(stubMaker, callable, (CoprocessorCallback<R>) callback);
}
}

0 comments on commit 22f80ff

Please sign in to comment.