I guess it depends on the generated class file version.

On Wed, Jul 10, 2024 at 2:53 PM Manu Zhang <owenzhang1...@gmail.com> wrote:

> 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