Details
-
Sub-task
-
Status: Patch Available
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
Building Ozone with Java 9+ (but with target=8) and running with Java 8 results in:
NoSuchMethodError: java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer; at org.apache.hadoop.ozone.common.ChunkBufferImplWithByteBuffer.duplicate(ChunkBufferImplWithByteBuffer.java:111)
Explanation:
https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/
Can be fixed by setting --release for javac (only for JDK 9+, since it's a new param), via maven.compiler.release.
When using --release, access to Sun internal API is not allowed: https://bugs.openjdk.org/browse/JDK-8206937 Therefore this fix requires HDDS-11078.
Attachments
Issue Links
- requires
-
HDDS-11078 Remove usage of sun.misc.Signal
-
- Resolved
-
- links to