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

Reply via email to