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)