This seems like something that an LTS version might serve well!  For
as long as I've used Avro, only the most recent version has active
support, but we've talked about having more than one version.

If we go this route, I'd be comfortable dropping Java 8 on Avro
1.12.x!  I'd also be comfortable only supporting core avro with only
Java 8.

All my best, Ryan

On Thu, Mar 9, 2023 at 10:28 AM Christophe Le Saëc <[email protected]> wrote:
>
> 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