[
https://issues.apache.org/jira/browse/HBASE-17346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15829399#comment-15829399
]
stack commented on HBASE-17346:
-------------------------------
Looking...
Having a bit of trouble getting my head around it.
You expose more than what sync Table does.
I'm having trouble following this:
+ table.coprocessorService(channel -> AggregateService.newStub(channel),
+ (stub, controller, done) -> stub.getMax(controller, req, done),
scan.getStartRow(),
+ scan.includeStartRow(), scan.getStopRow(), scan.includeStopRow(),
callback);
+ return future;
The channel and controller we get from where? Ditto 'done' I don't see them in
the aggregation class.
And then that AggregateService.newStub(channel) is a 'stubmaker' of this form:
Function<RpcChannel, S> stubMaker
Name ClientCoprocessorRpcController more generic than
ClientCoprocessorRpcController I thought we'd made a basic RpcController in a
few places in tests but looks like it is only the
AggregationClientRpcController which looks like this (except it does
'cancel'...)....Name it BasicRpcController or SimpleRpcController since can be
used for more than just CP?
This is nice:
@FunctionalInterface
We have to expose RpcController in method signature? We can't keep it
internal? You thinking we'd expose the cancel/failed functionality via this
RpcController? Doesn't user have the CompleteableFuture to get this stuff out
of the invocation?
You don't need PayloadCarryingRpcController here, right...
So, the onRegionComplete and onComplete... in CoprocessorCallback.... whats
the diff? You get notification on completion of each of these steps?
Pardon dumb questions...
> Add coprocessor service support
> -------------------------------
>
> Key: HBASE-17346
> URL: https://issues.apache.org/jira/browse/HBASE-17346
> Project: HBase
> Issue Type: Sub-task
> Components: asyncclient, Client, Coprocessors
> Affects Versions: 2.0.0
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Fix For: 2.0.0
>
> Attachments: 17346.suggestion.txt, HBASE-17346.patch,
> HBASE-17346-v1.patch
>
>
> I think we need to redesign the API.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)