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