[
https://issues.apache.org/jira/browse/HBASE-12668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jurriaan Mous updated HBASE-12668:
----------------------------------
Attachment: HBASE-12668.patch
- Implemented the necessary methods in PayloadCarryingRpcController and
TimeLimitedRpcController.
- Added an setFailed with exception method to TimeLimitedRpcController so it is
easier to pass on exceptions.
- Moved out BlockingRpcChannelImplementation and createBlockingRpcChannel
method from RpcClientImpl into AbstractRpcClient since they can now be used in
an async client. It contains an abstract call method to implement for blocking
calls. This saves duplicated code on new RpcClient implementations.
> 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
> Attachments: 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)