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
>

Reply via email to