[ 
https://issues.apache.org/jira/browse/HBASE-18483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chia-Ping Tsai updated HBASE-18483:
-----------------------------------
    Description: 
{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}

  was:
{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);
    } else if (t instanceof DoNotRetryIOException) {
      throw (DoNotRetryIOException)t;
    } else if (t instanceof NeedUnmanagedConnectionException) {
      throw new DoNotRetryIOException(t);
    }
{code}


> 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
>            Priority: Minor
>              Labels: beginner
>             Fix For: 1.4.0, 1.3.2, 1.5.0, 1.2.7
>
>
> {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)

Reply via email to