Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.1.0, 2.2.0
-
None
Description
ExecutorClassLoader's findClass may throw some transient exception. For example, when a task is cancelled, if ExecutorClassLoader is running, you may see InterruptedException or IOException, even if this class can be loaded. Then the result of findClass will be cached by JVM, and later when the same class is being loaded (note: in this case, this class may be still loadable), it will just throw NoClassDefFoundError.
We should make ExecutorClassLoader retry on transient exceptions.
Attachments
Issue Links
- links to