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