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