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 >>>>> >>>>