hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chia-Ping Tsai (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18483) The RpcRetryingCaller#translateException doesn't handle RemoteException
Date Mon, 14 Aug 2017 15:17:02 GMT

    [ https://issues.apache.org/jira/browse/HBASE-18483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16125819#comment-16125819
] 

Chia-Ping Tsai commented on HBASE-18483:
----------------------------------------

bq. I found in TestProtoBufRpc.java line 135 that somehow RemoteException should be caught
and thrown as ServiceException. Not sure if this could be an evidence of real case.
It would be better to write a test that reproduce the bug by client APIs.

bq. since I've move the test into TestHCM, do I still need to make that trivial change in
hbase-server?
If you have moved the test into TestHCM, the QA will run the test for hbase-server.

> The RpcRetryingCaller#translateException doesn't handle RemoteException
> -----------------------------------------------------------------------
>
>                 Key: HBASE-18483
>                 URL: https://issues.apache.org/jira/browse/HBASE-18483
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.3.1, 1.2.6
>            Reporter: Chia-Ping Tsai
>            Assignee: Hao Chan
>            Priority: Minor
>              Labels: beginner
>             Fix For: 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
>         Attachments: HBASE-18483.branch-1.3.v0.patch
>
>
> {code}
>     if (t instanceof ServiceException) {
>       ServiceException se = (ServiceException)t;
>       Throwable cause = se.getCause();
>       if (cause != null) {
>         if (cause instanceof DoNotRetryIOException) {
>           throw (DoNotRetryIOException)cause;
>         } else if (cause instanceof NeedUnmanagedConnectionException) {
>           throw new DoNotRetryIOException(cause);
>         }
>       }
>       // Don't let ServiceException out; its rpc specific.
>       t = cause;
>       // t could be a RemoteException so go aaround again.
>       translateException(t);                                  // here
>     } else if (t instanceof DoNotRetryIOException) {
>       throw (DoNotRetryIOException)t;
>     } else if (t instanceof NeedUnmanagedConnectionException) {
>       throw new DoNotRetryIOException(t);
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message