[
https://issues.apache.org/jira/browse/AVRO-2624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16973407#comment-16973407
]
Ryan Skraba edited comment on AVRO-2624 at 11/27/19 3:29 PM:
-------------------------------------------------------------
I can reproduce this. Keep in mind that Hadoop doesn't "officially" [support
JDK11|https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions]
yet (but it should be getting there soon).
The workaround in the JIRA looks cumbersome, -but doable today to ensure that
we can deliver artifacts compiled with JDK8 that work in JDK8/JDK11-.
*Edit* It looks like artifacts compiled with JDK8 work in both cases.
was (Author: ryanskraba):
I can reproduce this. Keep in mind that Hadoop doesn't "officially" [support
JDK11|https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions]
yet (but it should be getting there soon).
The workaround in the JIRA looks cumbersome, -but doable today to ensure that
we can deliver artifacts compiled with JDK8 that work in JDK8/JDK11-. *Edit* It
looks like artifacts compiled with JDK8 work in both cases.
> Avoid ByteBuffer incompatibility when compiling with JDK9+
> ----------------------------------------------------------
>
> Key: AVRO-2624
> URL: https://issues.apache.org/jira/browse/AVRO-2624
> Project: Apache Avro
> Issue Type: Bug
> Components: java
> Reporter: Michael A. Smith
> Priority: Major
>
> Like MRESOLVER-85 and similar, the java implementation suffers from a
> compatibility break since java 9. The problem can be seen in the PR for
> AVRO-2603, https://github.com/apache/avro/pull/706, which fails for JAVA 11,
> but not for 8.
> The error is:
> {noformat}
> Caused by: java.lang.NoSuchMethodError:
> java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer;
> [py-test] at
> org.apache.avro.io.BinaryDecoder.readBytes(BinaryDecoder.java:317)
> {noformat}
> * This should not occur when artifacts are compiled with JDK8, even if run in
> Java 11 runtime. i.e., This shouldn't be a big issue while maven artifacts
> are being published with JDK8 (the lowest Java runtime version we support).
> * Likewise, this should not occur when artifacts are compiled with JDK11
> (with {{-target 1.8}}) and run in a Java 11 runtime, as with the JAVA=11
> build targets.
> * This *will* occur when the artifacts are compiled with JDK11 (with
> {{-target 1.8}}) and run in a Java 8 runtime.
> * It will be important to fix when Avro publishes artifacts built with JDK11
> and JDK8 is still meant to be supported.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)