Hi

Thanks Russel, Ryan, Pucheng for your input!


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.


Yes, that's my preferred approach (unless we can just drop Java 8 "today").


Thanks Ryan for supporting drop of Java 8. Let's continue discussion here
for now, but I guess I could have started with drop Java 8 first
(optimistically).

Pucheng, i think it means they will need to move off Java 8 to get new
Iceberg versions.
I do believe it's inevitable though.
Even if Iceberg somehow decides to never benefit from new Java language
features, it needs to support newer Java versions.
And as this thread shows, supporting old Java versions and new Java
versions at the same time becomes challenging.
Do you maybe know how big of the impact on community would dropping Java 8
have? Some estimate on percentage of install base?

Best,
Piotr








On Tue, 9 Jul 2024 at 18:32, Pucheng Yang <py...@pinterest.com.invalid>
wrote:

> What does dropping Java 8 support mean to companies that are still using
> Java 8 for Iceberg in production?
>
> On Tue, Jul 9, 2024 at 9:26 AM Ryan Blue <b...@databricks.com.invalid>
> wrote:
>
>> +1 for removing Java 8 support.
>>
>> On Tue, Jul 9, 2024 at 9:24 AM Russell Spitzer <russell.spit...@gmail.com>
>> wrote:
>>
>>> 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
>>>>
>>>>
>>
>> --
>> Ryan Blue
>> Databricks
>>
>

Reply via email to