Hadoop doc says <https://hadoop.apache.org/docs/stable/> "Java 11 runtime support is completed." For Hive, it seems to be a question of time <https://issues.apache.org/jira/browse/HIVE-22415> 😉, to remove joda.time lib
More generally, could we consider that projects which need Java8 or old library have to use old avro version (like beam uses Avro 1.8.2 version <https://github.com/apache/beam/blob/master/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L527> ). So, if we maintain Java8 compatibility for current avro versions, make the future "major" version in Java 11 or 17 only is not a pb i think. Best regards, Christophe Le Saëc Le mer. 8 mars 2023 à 23:22, Niels Basjes <[email protected]> a écrit : > Hi, > > I was looking into making the build run in only Java 11 or 17 because there > are more and more maven plugins that only run in those. > Newer versions of for example the maven-checkstyle-plugin need Java 11. > https://github.com/apache/avro/pull/2118 > > I consider that to be a low risk change because we can make sure that the > code still runs under java 8 to support all of the older systems that use > Avro. > Having some of the integration tests run via invoker and then use > toolchains is a perfect way to make something like that work. > > Just now I noticed that key dependencies (not plugins: actual dependencies) > have started dropping Java 8 support. > > The update to the latest Thrift library ( Bump libthrift from 0.16.0 to > 0.18.1 in /lang/java https://github.com/apache/avro/pull/2124 ) fails > with: > *[INFO] Restricted to JDK 8 yet > org.apache.thrift:libthrift:jar:0.18.1:compile contains > org/apache/thrift/TBaseProcessor.class targeted to JDK 11* > > > *I have asked the guys at Thrift if they can have the next release be Java > 8 again, let's see if they can.* > > Avro is a dependency for many projects of which a significant group (small > projects like Hadoop and Hive) still need Java 8 and cannot build under > Java 11. > So we cannot simply switch to Java 11. > > One thing I thought of is to switch "partially". > Something like all modules be Java 8 compatible, except the Thrift one > which is Java 11. > > Like to hear your thoughts on this. > > -- > Best regards / Met vriendelijke groeten, > > Niels Basjes >
