PR allows both build and run with JDK8, JDK 10 (and, likely, JDK9). All tests, except HBase, Hive, Kafka Storage Plugin tests, works on JDK10: - HBase cannot start master: HMaster ctor fails with message "Unexpected version format: 10.0.2" - Hive cannot create HiveMetaStoreClient: ctor fails with "java.base/[Ljava.lang.Object; cannot be cast to java.base/[Ljava.net.URI;" - Kafka: KafkaFilterPushdownTest fails with errors "java.lang.NoSuchMethodError: sun.nio.ch.DirectBuffer.cleaner()Lsun/misc/Cleaner;"
Changes: - Added a DrillPlatformDependent class, which tries to read maxDirectMemory from jdk.internal.misc.VM, otherwise fallbacks to netty PlatformDependent - asm dependency updated to 6.2.1, and ReplacingInterpreter fixed - fixed List.toArray() call in FileSystemPartitionDescriptor (in JDK10 this method return Object[] and cast fails) - surefire plugin updated to 2.21.0 - surefire configuration changed: 1) added -XX:+IgnoreUnrecognizedVMOptions 2) added java.se module (mostly, for java.sql module) 3) added -Djdk.attach.allowAttachSelf=true, required by jmockit 4) added locale and country settings, because format tests fails with my system locale - compiler plugin updated to 3.8.0 - JarBuilder fixed for JDK10 (target 1.5 and source 1.5 not supported by javac 10) - Drill2489CallsAfterCloseThrowExceptionsTest.ThrowsClosedBulkChecker skips new methods in JDK10 (JDK9 ?) jdbc api - added jaxb-api and javax.activation dependencies, because javax.xml.bind and javax.activation modules will be removed in JDK11 (javax.activation used by jersey) - drill-config.sh and sqlline.bat changed: 1) added -XX:+IgnoreUnrecognizedVMOptions 2) added --add-modules java.se (mostly, for java.sql module) 3) added --add-opens java.base/jdk.internal.misc=ALL-UNNAMED (allows access to jdk.internal.misc.VM) P.S. I am sorry for possible mistakes because of my bad English [ Full content available at: https://github.com/apache/drill/pull/1446 ] This message was relayed via gitbox.apache.org for [email protected]
