You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Zhihua Deng (Jira)" <ji...@apache.org> on 2021/06/17 05:23:00 UTC

[jira] [Created] (HIVE-25261) RetryingHMSHandler should wrap the MetaException with short description of the target

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)