[
https://issues.apache.org/jira/browse/HIVE-26386?focusedWorklogId=791836&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-791836
]
ASF GitHub Bot logged work on HIVE-26386:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 18/Jul/22 04:34
Start Date: 18/Jul/22 04:34
Worklog Time Spent: 10m
Work Description: dengzhhu653 commented on code in PR #3431:
URL: https://github.com/apache/hive/pull/3431#discussion_r922965659
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HMSHandler.java:
##########
@@ -7791,7 +7791,7 @@ public List<String> get_role_names() throws TException {
ret = getMS().listRoleNames();
return ret;
} catch (Exception e) {
- throw
handleException(e).throwIfInstance(MetaException.class).defaultRuntimeException();
Review Comment:
I'm afraid that convert other exceptions to TException would not retry in
case of JDOException, etc.
Issue Time Tracking
-------------------
Worklog Id: (was: 791836)
Time Spent: 0.5h (was: 20m)
> 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
> Priority: Major
> Labels: pull-request-available
> Fix For: 4.0.0-alpha-2
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> {{*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)