[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16114894#comment-16114894 ]
Xiaobing Zhou commented on HBASE-18078: --------------------------------------- Thanks for review. v8 is posted. # removed ConnectionRetryPolicy comment # used VLOG(3) for RpcClient Exception In addition: # added socketNotOpen function in test_rpc_service.proto # added unit tests for socketNotOpen In RpcClient::SendRequest, we need to handle two cases for ConnectionException: # The first time connection establishment, i.e. GetConnection(remote_id), AsyncSocketException being a cause. # Writing request down the pipeline, i.e. RpcConnection::SendRequest, AsyncSocketException being a cause as well. The socketNotOpen covers the case of GetConnection(remote_id). Another test is needed to cover RpcConnection::SendRequest. > [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, HBASE-18078.007.patch, > HBASE-18078.008.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)