Description
Reporting a probable miss that breaks JDK9 compatibility.
As part of this commit in ignite/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java, below lines will throw ClassCastException in JDK9 during runtime.
return ((URLClassLoader)urlClsLdrField.get(clsLdr)).getURLs();
Here, urlClsLdrField.get(clsLdr) return an object of type "__java.base/jdk.internal.loader.URLClassPath" which can't be cast to "URLClassLoader".
The fix seems to be to introduce another reflection call to invoke getURLs method of the internal URLClassPath class.
Attachments
Issue Links
- blocks
-
IGNITE-9684 JDK9: pass JVM options to created process at HadoopCommandLineTest#createProcessBuilder
- Resolved
- Is contained by
-
IGNITE-8441 Java 9/10/11 Support [2.5-2.7]
- Closed
-
IGNITE-9670 JDK9: supports hadoop Ignite module
- Resolved
- links to