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