[
https://issues.apache.org/jira/browse/HBASE-18978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16249525#comment-16249525
]
Duo Zhang commented on HBASE-18978:
-----------------------------------
HBASE-19241 has been resolved. [~appy]
'RawXXX' will execute the callbacks directly in the rpc framework thread, so it
is a little dangerous for non-expert users as if you execute time-consuming
tasks in the callback, the hbase client may be stuck. For the non-raw
implementation, usually it is just a simple wrapper of the raw implementation.
The difference is that, you need to provide a thread pool to execute the
callbacks, so it will not block the rpc framework thread, which is safer for
users.
And for AsyncTable and RawAsyncTable, the scan API is a bit different. For
RawAsyncTable there is a very low level observer style API. All other scan
methods of async client are based on this API. It is not easy to write correct
code with this API and I believe for most cases users do not need to use this
method.
And for the coprocessor API, I only keep it in RawAsyncTable, This is just
because that I think coprocessor is a low level API. No other reasons, and I'm
fine if someone want to also introduce coprocessor API in AsycTable interface.
Thanks.
> Align the methods in Table and AsyncTable
> -----------------------------------------
>
> Key: HBASE-18978
> URL: https://issues.apache.org/jira/browse/HBASE-18978
> Project: HBase
> Issue Type: Task
> Components: asyncclient, Client
> Reporter: Duo Zhang
> Assignee: Peter Somogyi
> Priority: Critical
> Fix For: 2.0.0-beta-1
>
>
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)