hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
Date Fri, 04 Aug 2017 18:33:00 GMT

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

Mime
View raw message