[ 
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16111808#comment-16111808
 ] 

Xiaobing Zhou commented on HBASE-18078:
---------------------------------------

Posted v6:
# Catch AsyncSocketException in ConnectionFactory::Connect, and throw it as 
ConnectionException, which will be propagated up to 
ConnectionPool::GetConnection and RpcClient::SendRequest, finally caller of 
RpcClient will get ConnectionException.
# While writing data down the pipeline, RpcConnection::SendRequest will also 
encounter AsyncSocketException, similarly, it's propagated to caller of 
RpcClient.

The patch considered two cases:
# AsyncSocketException as a result of the 1st time connection establishment.
# ConnectionException (i.e. AsyncSocketException as a cause) for 
Request/Response async call after the corresponding connection is established.


> [C++] Harden RPC by handling various communication abnormalities
> ----------------------------------------------------------------
>
>                 Key: HBASE-18078
>                 URL: https://issues.apache.org/jira/browse/HBASE-18078
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Xiaobing Zhou
>            Assignee: Xiaobing Zhou
>         Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, 
> HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, 
> HBASE-18078.005.patch, HBASE-18078.006.patch
>
>
> RPC layer should handle various communication abnormalities (e.g. connection 
> timeout, server aborted connection, and so on). Ideally, the corresponding 
> exceptions should be raised and propagated through handlers of pipeline in 
> client.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to