You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2022/01/07 13:11:00 UTC

[jira] [Commented] (AVRO-2624) Avoid ByteBuffer incompatibility when compiling with JDK9+

    [ https://issues.apache.org/jira/browse/AVRO-2624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17470603#comment-17470603 ] 

ASF subversion and git services commented on AVRO-2624:
-------------------------------------------------------

Commit 4209b14b8750c5d631a77e2b84906a449c43f706 in avro's branch refs/heads/master from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=avro.git;h=4209b14 ]

AVRO-2624 Revert casting to super type

It seems the casts are needed when a release is made with JDK 9+ and
'-release 8'

Signed-off-by: Martin Tzvetanov Grigorov <mg...@apache.org>


> 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
>            Assignee: Daniel Kulp
>            Priority: Major
>             Fix For: 1.10.0
>
>
> 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.20.1#820001)