[ https://issues.apache.org/jira/browse/HBASE-12668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14245532#comment-14245532 ]
Jurriaan Mous commented on HBASE-12668: --------------------------------------- I see you updated the master (2.0.0) but that will do for now since client api is the same. :) I can now in a quick test confirm that I can replace the RPC client with a Netty based one and start and stop a mini-cluster with it and it does all the normal sync communications correctly and it is able to do async communication through custom API calls. Later in the coming week I will try out some of the tests in HBase to see if the client works correctly with all current RpcClient tests and will then probably propose a new issue to integrate the AsyncRpcClient as an optional RpcClient in HBase itself. > Adapt PayloadCarryingRpcController so it can also be used in async way > ---------------------------------------------------------------------- > > Key: HBASE-12668 > URL: https://issues.apache.org/jira/browse/HBASE-12668 > Project: HBase > Issue Type: Improvement > Components: Client > Reporter: Jurriaan Mous > Assignee: Jurriaan Mous > Fix For: 1.0.0, 2.0.0 > > Attachments: HBASE-12668-V1.patch, HBASE-12668-V1.patch, > HBASE-12668.patch > > > With the changes in HBASE-12597 it is possible to create a new RPC client. > But in all places the BlockingRpcChannel is called with a > PayloadCarryingRpcController. This controller is not usable in Async context > because some methods are not supported at the moment. (See > TimeLimitedRpcController for the methods that throw > UnsupportedOperationException) > This issue is about implementing these methods so > PayloadCarryingRpcController can also be used in an async context and work > the same in a sync context. -- This message was sent by Atlassian JIRA (v6.3.4#6332)