I suppose Iceberg built with Java 11/17/21 (at least one of them) can run
with Spark/Hadoop built with Java 8?

On Wed, Jul 10, 2024 at 11:59 AM Steven Wu <stevenz...@gmail.com> wrote:

> +1 for dropping Java 8 as it is really old (3 versions behind latest Java
> LTS version - 11, 17, 21).
>
> Here was the thread from over a year ago on dropping JDK 8 support.
> https://lists.apache.org/thread/gq08prw7tv8q6h71lfc9bjlj074ckccv
>
> Hive's lack of Java 11 support was identified as a blocker. There doesn't
> seem to be much progress according to the jira issue.
> https://issues.apache.org/jira/browse/HIVE-22415
>
> Should we drop the hive3 connector? assuming we have no problem with
> moving the hive-metastore module to JDK 11.
>
>
>
> On Tue, Jul 9, 2024 at 3:18 PM Pucheng Yang <py...@pinterest.com.invalid>
> wrote:
>
>> Piotr, thanks for the details. I am not sure about the community usage of
>> Java 8. I was mostly asking for my company which is still on Java 8 as of
>> today.
>>
>> On Tue, Jul 9, 2024 at 2:40 PM Piotr Findeisen <piotr.findei...@gmail.com>
>> wrote:
>>
>>> 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