asfimport opened a new issue, #344:
URL: https://github.com/apache/arrow-java/issues/344

   There is an incompatibility with JDK 8 when Arrow is compiled with JDK 9 or 
higher as described here:
   
   <https://jira.mongodb.org/browse/JAVA-2559>
   
   This pattern is used in at least MessageSerializer#readMessage(), but the 
codebase needs to be examined anywhere ByteBuffer is being used.
   
   "Java 9 introduces overridden methods with covariant return types for the 
following methods in java.nio.ByteBuffer that are used by the driver:
   - position
   - limit
   - flip
   - clear
     
     In Java 9 they all now return ByteBuffer, whereas the methods they 
override return Buffer,
     resulting in exceptions like this when executing on Java 8 and lower:
     
     java.lang.NoSuchMethodError: 
java.nio.ByteBuffer.limit(I)Ljava/nio/ByteBuffer
     
     This is because the generated byte code includes the static return type of 
the method, which is not found on Java 8 and lower because the overloaded 
methods with covariant return types don't exist.
     
     The solution is to cast ByteBuffer instances to Buffer before calling the 
method."
   
   **Reporter**: [James 
Duong](https://issues.apache.org/jira/browse/ARROW-15913) / @jduo
   
   <sub>**Note**: *This issue was originally created as 
[ARROW-15913](https://issues.apache.org/jira/browse/ARROW-15913). Please see 
the [migration documentation](https://github.com/apache/arrow/issues/14542) for 
further details.*</sub>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to