The different formatting preferences sounds annoying enough that I would
think we should just drop the Java8 support. Do we have anyone who strongly
prefers keeping Java 8 support?

As an alternative I think it would be fine if we disable the formatter when
using Java 21 and just make sure we always have tests run with Java 8 and
the formatter checks in our CI. If we go this route I think we stay with
Java 8 for formatting and save the reformat for when Java 8 is dropped
officially.

On Tue, Jul 9, 2024 at 7:32 AM 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
> <https://github.com/apache/iceberg/pull/10474>), 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
> <https://github.com/apache/iceberg/pull/10518> 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