You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2016/07/02 05:22:10 UTC

[jira] [Commented] (HBASE-16149) Log the underlying RPC exception in RpcRetryingCallerImpl

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

stack commented on HBASE-16149:
-------------------------------

Looks like you applied this to branch-1 [~jerryhe]? Correct me if I have it wrong. Thanks boss.

> Log the underlying RPC exception in RpcRetryingCallerImpl 
> ----------------------------------------------------------
>
>                 Key: HBASE-16149
>                 URL: https://issues.apache.org/jira/browse/HBASE-16149
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 1.2.0
>            Reporter: Jerry He
>            Assignee: Jerry He
>            Priority: Minor
>             Fix For: 2.0.0, 1.3.0, 1.4.0
>
>         Attachments: HBASE-16149-branch-1.patch, HBASE-16149.patch
>
>
> In RpcRetryingCallerImpl:
> {code}
>   public T callWithRetries(RetryingCallable<T> callable, int callTimeout)
>   throws IOException, RuntimeException {
> ...
>     for (int tries = 0;; tries++) {
>       try {
> ...
>         return callable.call(getTimeout(callTimeout));
> ...
>       } catch (Throwable t) {
>         ExceptionUtil.rethrowIfInterrupt(t);
>         if (tries > startLogErrorsCnt) {
>           LOG.info("Call exception, tries=" + tries + ", maxAttempts=" + maxAttempts + ", started="
>               + (EnvironmentEdgeManager.currentTime() - tracker.getStartTime()) + " ms ago, "
>               + "cancelled=" + cancelled.get() + ", msg="
>               + callable.getExceptionMessageAdditionalDetail());
>         }
> ...
> {code}
> We log the callable.getExceptionMessageAdditionalDetail() msg. But callable.getExceptionMessageAdditionalDetail() may not provide the underlying cause..
> For example, in AbstractRegionServerCallable, 
> {code}
>   public String getExceptionMessageAdditionalDetail() {
>     return "row '" + Bytes.toString(row) + "' on table '" + tableName + "' at " + location;
>   }
> {code}
> Let's add the underlying exception cause to the message as well.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)