[
https://issues.apache.org/jira/browse/HBASE-10169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13849853#comment-13849853
]
Gary Helmling commented on HBASE-10169:
---------------------------------------
Thanks for the patch and design doc.
I'm still going through the patch, but so far it seems to mix together a few
different components:
# batching coprocessor endpoint invocations per regionserver (like HBASE-3726)
# user-defined aggregations executed on the server-side (ServerCallback)
# a whole new client layer (BatchCoprocessorServiceClient)
In my opinion, each of these is sufficiently different and complex that they
should be handled independently. The way I read the original description here,
the main goal is accomplishing item (1), please correct me if I'm wrong. It
also seems that batching calls per regionserver is an implementation detail
that could be accommodated with the current HTable.coprocessorService() client
interface. This would certainly be a very nice improvement to have. Would you
be willing to limit the scope of this change to targeting the regionserver
batching, leaving the additional parts for separate discussion in other JIRAs?
As Ted mentioned, this is a sizeable patch, so please also upload it to
reviews.apache.org to make it easier to review.
> Batch coprocessor
> -----------------
>
> Key: HBASE-10169
> URL: https://issues.apache.org/jira/browse/HBASE-10169
> Project: HBase
> Issue Type: Sub-task
> Components: Coprocessors
> Affects Versions: 0.99.0
> Reporter: Jingcheng Du
> Assignee: Jingcheng Du
> Attachments: Batch Coprocessor Design Document.docx, HBASE-10169.patch
>
>
> This is designed to improve the coprocessor invocation in the client side.
> Currently the coprocessor invocation is to send a call to each region. If
> there’s one region server, and 100 regions are located in this server, each
> coprocessor invocation will send 100 calls, each call uses a single thread in
> the client side. The threads will run out soon when the coprocessor
> invocations are heavy.
> In this design, all the calls to the same region server will be grouped into
> one in a single coprocessor invocation. This call will be spread into each
> region in the server side, and the results will be merged ahead in the server
> side before being returned to the client.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)