[
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16114783#comment-16114783
]
Enis Soztutar commented on HBASE-18078:
---------------------------------------
Thanks [~xiaobingo] for the updated patch.
As we were talking offline, we are not gonna do ConnectionRetryPolicy. Upper
level retrying from Rpc Retrying Callers will work just fine for
re-establishing the connection.
{code}
+ * TODO:
+ * This function should plug in ConnectionRetryPolicy to handle:
+
{code}
- We can do this as VLOG(1):
{code}
+ VLOG(3) << folly::sformat("RpcClient Exception: {}", ew.what());
{code}
- Do we need to catch the AsyncSocketException at this level as well:
{code}
+ return GetConnection(remote_id)
+ ->SendRequest(std::move(req))
+ .onError([&, this](const folly::exception_wrapper& ew) {
{code}
or below layers already handle it in every case and rethrow it as
ConnectionException.
Other than these, patch looks good. We need the unit tests for committing it.
> [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
>
>
> 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)