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

Reply via email to