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
>

Reply via email to