Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-26386

Exceptions thrown in ObjectStore should contain all causes

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 4.0.0-alpha-1
    • None
    • Hive

    Description

      RetryingHMSHandler will retry the failed operations if the exception is caused by JDOException or NucleusException, the logic is in RetryingHMSHandler.java#L185:

       } 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();
      

      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.

      Attachments

        Issue Links

          Activity

            People

              wechar Wechar
              wechar Wechar
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1.5h
                  1.5h