Zhihua Deng created HIVE-25261:
----------------------------------
Summary: RetryingHMSHandler should wrap the MetaException with
short description of the target
Key: HIVE-25261
URL: https://issues.apache.org/jira/browse/HIVE-25261
Project: Hive
Issue Type: Bug
Components: Standalone Metastore
Reporter: Zhihua Deng
Assignee: Zhihua Deng
[RetryingMetaStoreClient|https://github.com/apache/hive/blob/master/standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/RetryingMetaStoreClient.java#L267-L276]
relies on the message of MetaException to make decision on retrying the
current operation when failed. However the RetryingHMSHandler only wraps the
message into MetaException, which may cause the client unable to retry with
other metastore instances.
For example, if we got exception:
{code:java}
Caused by: javax.jdo.JDOFatalUserException: Persistence Manager has been closed
at
org.datanucleus.api.jdo.JDOPersistenceManager.assertIsOpen(JDOPersistenceManager.java:2235)
at
org.datanucleus.api.jdo.JDOPersistenceManager.evictAll(JDOPersistenceManager.java:481)
at
org.apache.hadoop.hive.metastore.ObjectStore.rollbackTransaction(ObjectStore.java:635)
at org.apache.hadoop.hive.metastore.ObjectStore.getTable(ObjectStore.java:1415)
at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498){code}
RetryingHMSHandler will throw MetaException with message 'Persistence Manager
has been closed', which not in the recoverable pattern defined in client.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)