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)