Hi, Thank you all for your comments and perspectives.
Summing up so far: It is clear that dropping JDK 8 is imminent, but it is also inevitably painful for some users. We don't have precise date/version when Java 8 can be dropped (along with Hive module) and Iceberg 1.7 was proposed for that. We have consensus that *after* we drop Java 8, we can add Java 21 support and testing. This is awesome. What we didn't focus on yet, is this question: can we add Java 21 support and testing *before* we drop Java 8? It has a caveat (we can't run formatter on 21 and 8, and we need to choose one). I am proposing this because it seems to me an incremental improvement over the current state. Increasing reliability or releases for those who already moved ahead and preventing any potential regressions/ What do you think? Best, Piotr On Wed, 10 Jul 2024 at 10:09, Jean-Baptiste Onofré <j...@nanthrax.net> wrote: > Hi Piotr > > I already commented on the PR directly, so let me share here: I'm in > favor of dropping Java8 and directly jumping to Java21. > However, to do this jump, I would need to remove "old" modules, like > Hive. I think it's totally acceptable on a new major version. I shared > this in the thread about Iceberg Java 2.0, but we didn't have a lot of > discussions about it. > > So, I would suggest: > Step 0. Agree in which branch/major version we plan this > Step 1. Remove old modules requiring Java8 (hive) > Step 2. Upgrade to JDK21 (build + CI) and Java Format > > Regards > JB > > On Tue, Jul 9, 2024 at 2:31 PM Piotr Findeisen > <piotr.findei...@gmail.com> wrote: > > > > Hi, > > > > Java 21 is the latest "LTS version" released GA in September 2023. > > Some Iceberg users already run with Java 21 on production (and FWIW > Trino runs with 22 already) > > I thought it would be nice to add support for building and testing > Iceberg with Java 21. > > > > Conceptually this is simple (see PR), but there is a caveat worth > discussing: > > There seems to be no version of Google Java Format library that can run > under JDK 8 and JDK 21. > > Choosing Google Java Format version dynamically is not an option, > because different versions have slightly different formatting preferences, > so updating formatter version requires updating the code in a handful of > places. > > > > Question: > > do we want to add support for building and testing with Java 21? > > Ability to test with Java 21 would match what some of Iceberg users are > doing. > > If we choose so, we would simply disable spotless formatter when build > runs on Java 21 (or 8 if this is preferred instead) > > > > or we prefer to wait until we can drop Java 8 support first, and only > then add Java 21 support? > > > > Pre-existing context: > > the topic has been discussed on the PR here: > https://github.com/apache/iceberg/pull/10474#discussion_r1658513019 > > and it was proposed there to bring this to Dev group attention. > > > > Best, > > PF > > >