Wechar created HIVE-26386: ----------------------------- Summary: Exceptions thrown in ObjectStore should contain all causes Key: HIVE-26386 URL: https://issues.apache.org/jira/browse/HIVE-26386 Project: Hive Issue Type: Bug Components: Hive Affects Versions: 4.0.0-alpha-1 Reporter: Wechar Assignee: Wechar Fix For: 4.0.0-alpha-2
{{*RetryingHMSHandler*}} will retry the failed operations if the exception is caused by {{*JDOException*}} or {{{}*NucleusException*{}}}, the logic is in [RetryingHMSHandler.java#L185:|https://github.com/apache/hive/blob/723d52270488b8dbc108db1a9925d1c569415039/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/RetryingHMSHandler.java#L185] {code:java} } else if (e.getCause() instanceof MetaException && e.getCause().getCause() != null) { if (e.getCause().getCause() instanceof javax.jdo.JDOException || e.getCause().getCause() instanceof NucleusException) { // The JDOException or the Nucleus Exception may be wrapped further in a MetaException caughtException = e.getCause().getCause(); {code} But in {{{}*ObjectStore.java*{}}}, we found some exceptions thrown as {{{}*MetaException*{}}}}} are not wrapped by the causes, which cause some operations failed by {{JDOException}} can not do retry. -- This message was sent by Atlassian Jira (v8.20.10#820010)