Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
4.0.0-alpha-1
-
None
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
- links to