You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Eric Liang (JIRA)" <ji...@apache.org> on 2015/04/17 23:39:58 UTC

[jira] [Updated] (HIVE-10384) RetryingMetaStoreClient does not retry wrapped TTransportExceptions

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

Eric Liang updated HIVE-10384:
------------------------------
    Description: 
This bug is very similar to HIVE-9436, in that a TTransportException wrapped in a MetaException will not be retried. RetryingMetaStoreClient has a block of code above the MetaException handler that retries thrift exceptions, but this doesn't work when the exception is wrapped.

{code}
        if ((e.getCause() instanceof TApplicationException) ||
            (e.getCause() instanceof TProtocolException) ||
            (e.getCause() instanceof TTransportException)) {
          caughtException = (TException) e.getCause();
        } else if ((e.getCause() instanceof MetaException) &&
            e.getCause().getMessage().matches("(?s).*JDO[a-zA-Z]*Exception.*")) {
          caughtException = (MetaException) e.getCause();
{code}

  was:This bug is very similar to HIVE-9436, in that a TTransportException wrapped in a MetaException will not be retried.


> RetryingMetaStoreClient does not retry wrapped TTransportExceptions
> -------------------------------------------------------------------
>
>                 Key: HIVE-10384
>                 URL: https://issues.apache.org/jira/browse/HIVE-10384
>             Project: Hive
>          Issue Type: Bug
>          Components: Clients
>            Reporter: Eric Liang
>
> This bug is very similar to HIVE-9436, in that a TTransportException wrapped in a MetaException will not be retried. RetryingMetaStoreClient has a block of code above the MetaException handler that retries thrift exceptions, but this doesn't work when the exception is wrapped.
> {code}
>         if ((e.getCause() instanceof TApplicationException) ||
>             (e.getCause() instanceof TProtocolException) ||
>             (e.getCause() instanceof TTransportException)) {
>           caughtException = (TException) e.getCause();
>         } else if ((e.getCause() instanceof MetaException) &&
>             e.getCause().getMessage().matches("(?s).*JDO[a-zA-Z]*Exception.*")) {
>           caughtException = (MetaException) e.getCause();
> {code}



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