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.
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();
Attachments
Attachments
Issue Links
- is related to
-
HIVE-9436 RetryingMetaStoreClient does not retry JDOExceptions
- Closed
-
HIVE-10608 Fix useless 'if' statement in RetryingMetaStoreClient (135)
- Closed
- relates to
-
HIVE-9642 Hive metastore client retries don't happen consistently for all api calls
- Patch Available
-
HIVE-16966 Remove String Checks For Error Handling
- Open