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

Reply via email to