I can give it a try for sure On Fri, Apr 5, 2024 at 10:26 AM Dane Pitkin <d...@voltrondata.com.invalid> wrote:
> I think we can revisit the discussion soon for dropping Java 8 altogether, > since Spark will release 4.0 in ~June supporting Java 17+ at runtime. > > I'm curious how big of an effort it would be to get your proposal > implemented. Would you be willing to draft a PR so we can see what types of > changes are necessary? > > On Wed, Apr 3, 2024 at 8:05 AM Jean-Baptiste Onofré <j...@nanthrax.net> > wrote: > > > Yes, correct for language features. My point was more that we can > > decide on a major Arrow version upgrading the target language version. > > That's what I meant by "consensus". > > > > Regards > > JB > > > > On Tue, Apr 2, 2024 at 5:55 PM Laurent Goujon > > <laur...@dremio.com.invalid> wrote: > > > > > > At code level we need to separate language features from library > > features? > > > It should be possible to leverage memory API for example through > > reflection > > > and/or multi-release jar files, but record is a language feature and it > > > would not possible to use it without targeting java 17 at the source > > level. > > > > > > Laurent > > > > > > On Tue, Apr 2, 2024 at 1:40 AM Jean-Baptiste Onofré <j...@nanthrax.net> > > wrote: > > > > > > > Hi Laurent > > > > > > > > It makes sense to me. I started this "move" (on the plugin side of > the > > > > thing) as part of the reproducible build effort. > > > > > > > > At code level, I think it would be great to leverage some features > > > > from Java 17+ (I'm thinking about record, memory API, etc). > > > > I would be more than happy to help on this as soon as we have a > > consensus. > > > > > > > > Thanks, > > > > Regards > > > > JB > > > > > > > > On Mon, Apr 1, 2024 at 7:48 PM Laurent Goujon > > > > <laur...@dremio.com.invalid> wrote: > > > > > > > > > > Hello Arrow Java developers, > > > > > > > > > > I would wonder if the community would be okay to change the minimum > > Java > > > > > version used by the build toolchain to at least Java 17 or 21 (or > > even > > > > 22). > > > > > This is different from changing the minimum Java version used at > > runtime > > > > > which would still be 8 (following the vote from last september). > > > > > > > > > > Concretely it would mean: > > > > > * Java 21 would be required to build Arrow Java > > > > > * But Arrow would still be compatible with Java 8 > > > > > * Unit tests should keep running with Java 8 and higher. > > > > > > > > > > Reasons for changing the toolchain would be: > > > > > - More and more tools and plugins now require at least Java 11, > > forcing > > > > the > > > > > project to keep using older/unsupported versions > > > > > - We hacked our way to support Java modules with > > > > > > > > > > > > https://github.com/apache/arrow/tree/main/java/maven/module-info-compiler-maven-plugin > > > > > - There are several new features which we could conditionally > > include in > > > > > the Arrow project like VarHandle (Java 9) and Foreign Function and > > Memory > > > > > API (Java 22) to move away from Unsafe support which require more > and > > > > more > > > > > workarounds (Apache Lucene is a project which has managed to > > introduce > > > > > support for multiple Java incubator and final API while maintaining > > > > > compatibility with previous Java versions). But doing it from Java > 8 > > > > > creates a higher barrier. > > > > > > > > > > Laurent > > > > > > >