You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/07/12 18:45:00 UTC
[jira] [Work logged] (HIVE-26386) Exceptions thrown in ObjectStore should contain all causes
[ https://issues.apache.org/jira/browse/HIVE-26386?focusedWorklogId=790117&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-790117 ]
ASF GitHub Bot logged work on HIVE-26386:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 12/Jul/22 18:44
Start Date: 12/Jul/22 18:44
Worklog Time Spent: 10m
Work Description: wecharyu opened a new pull request, #3431:
URL: https://github.com/apache/hive/pull/3431
### What changes were proposed in this pull request?
Add the causes for some exceptions thrown by `ObjectStore`.
### Why are the changes needed?
To make the failed operations caused by `JDOException` etc can be retried.
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Not add any tests.
Issue Time Tracking
-------------------
Worklog Id: (was: 790117)
Remaining Estimate: 0h
Time Spent: 10m
> 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
> Fix For: 4.0.0-alpha-2
>
> Time Spent: 10m
> 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)