> I don't understand exactly what the benefit of these changes is for Calcite > developers or users.
Sorry this is lots of text. I do not know how to make it smaller. Sorry if this brings bad memories. Mihai, Julian, Calcite currently relies on Java 8, and its publicly available builds receive no bug fixes for a long time already. There are lots of bugs in javac (e.g. I filed one a couple of weeks ago: https://bugs.openjdk.org/browse/JDK-8391567), and we can't live with outdated/unsupported java compilers. The very first mail in the thread gives an exact issue Calcite faces should someone add/remove annotations: Invalid bytecode file: .../elasticsearch/.../ElasticsearchJson.class The solution is to use javac from Java 25. It has all the bug fixes, and it can produce Java 8 compatible code. Then we no longer rely on outdated compilers, and users get better Calcite (fewer bugs in the bytecode). ----- Part of the puzzle is as follows: * "faster calcite builds" require "replace Checkerframework with NullAway checker" because NullAway is way faster * "nullaway" requires "going for jspecify annotations". It is a nice thing anyway because it is a de-facto standard. * "jspecify and nullaway" requires "upgrading javac" because java 8 often produces invalid bytecode * "newer nullaway and error-prone" requires "java 17 or even 21 for launching the build system" * "running build system with Java 21 and running tests with Java 8..25" requires "teaching build system to use different JVM for tests" ... Now's the tough part. Five years ago I quit the project as I realized my behavior was not acceptable: https://lists.apache.org/thread/j4nbh4st0nqbwl69b1mzrsd8p758mf28 Now I think I got better at listening. I can easily understand if someone says "this all worked previously, don't fix something that is not broken", so I would like to gauge first. I see many of the changes I contributed still hold: Gradle is still there, `@Nullable` are still there. So I wonder if I could ask for a bit of trust in that area. No strings attached. Like if it misbehaves, I could help rolling it back. Vladimir
