FWIW all non-EOL versions of Spark support JDK17. JDK25 support is going to
take a hot minute though in Spark land.

On Fri, Nov 21, 2025 at 2:47 AM Maximilian Michels <[email protected]> wrote:

> +1 for dropping Java 11. Is it considered EOL by most vendors.
>
> On Fri, Nov 21, 2025 at 7:25 AM Steven Wu <[email protected]> wrote:
> >
> > Thanks everyone for the feedback on JDK 25. It should not be tied to the
> decision of dropping JDK 11 support. We can add it whenever the upstream
> blockers are resolved.
> >
> > On Thu, Nov 20, 2025 at 10:13 PM Cheng Pan <[email protected]> wrote:
> >>
> >> Moving to JDK 17+ is indeed a good thing, JDK 17 is a de facto new
> baseline for modern Java stacks, it was adopted by Maven, Gradle, Spring,
> Spark, Jackson3 and many popular Java projects as the minimal supported
> Java version.
> >>
> >> For JDK 25, I think the bigdata projects are majorly blocked by Hadoop
> (currently the Hadoop UGI does not work on JDK 23+ due to JDK
> SecurityManager changes), the fixes already landed in Hadoop trunk branch,
> and suppose to be ported to branch-3.4, the next version Hadoop 3.4.3 will
> unlock this.
> >>
> >> Thanks,
> >> Cheng Pan
> >>
> >>
> >>
> >> On Nov 21, 2025, at 13:55, Manu Zhang <[email protected]> wrote:
> >>
> >> I'm encountering several issues with JDK 11, which prompted me to
> remove it in the PR mentioned by Kevin.
> >>
> >> 1. Stuck with ORC-1.9.x which had CVE[1] and low release cadence
> >> 2. Upcoming Spark 4.1 can no longer target JDK11[2]
> >> 3. Upgrade to datafusion-comet 0.11.0 failed[3], although it has set
> JDK11 as target.
> >>
> >> Hence, I also support dropping Java 11, and we don't need workarounds
> here and there.
> >>
> >>> We will still have 3 LTS releases (17, 21, 25) after dropping Java 11.
> >>
> >> I don't think we can have JDK25 till Spark, Flink and other
> dependencies support it
> >>
> >>> what does that make the minimum supported spark version
> >>
> >> That will be Spark 3.4 or Spark 3.5 if we drop 3.4 in 1.11 as well.
> >>
> >>
> >> [1] https://github.com/apache/iceberg/issues/14391
> >> [2]
> https://github.com/apache/iceberg/pull/14155/commits/53bc376e5bf71a8f802c28186de943aff01d27bc#diff-5392a130b5f4f17e365379befee19dd4105817da777df9b8699b5e5704ce4d68R54
> >> [3] https://github.com/apache/iceberg/pull/14591
> >>
> >> Regards,
> >> Manu
> >>
> >>
> >> On Fri, Nov 21, 2025 at 5:00 AM Kevin Liu <[email protected]>
> wrote:
> >>>
> >>> Thanks for starting the convo, JB.
> >>>
> >>> I'm in favor of dropping Java 11 support.
> >>> I see Manu has started a draft PR to remove java 11 [1]. This gives a
> good overview of the current places where java 11 is used.
> >>>
> >>> Depending on the scope of the work, I think we can also target the
> next Iceberg release (1.11).
> >>>
> >>> Best,
> >>> Kevin Liu
> >>>
> >>>
> >>> [1] https://github.com/apache/iceberg/pull/14400/files
> >>>
> >>> On Thu, Nov 20, 2025 at 12:28 PM Steve Loughran <[email protected]>
> wrote:
> >>>>
> >>>> JDK25 is fairly traumatic security-API wise; not of direct relevance
> to iceberg AFAIK.
> >>>>
> >>>> With a minimum of java17, what does that make the minimum supported
> spark version (i.e what version of spark supports java17?)
> >>>>
> >>>> On Thu, 20 Nov 2025 at 06:51, Eduard Tudenhöfner <
> [email protected]> wrote:
> >>>>>
> >>>>> I would also be in favor of moving to JDK 17 but we need to check
> what the implications are.
> >>>>>
> >>>>> On Thu, Nov 20, 2025 at 5:36 AM Steven Wu <[email protected]>
> wrote:
> >>>>>>
> >>>>>> Yeah, the Flink benchmark shouldn't be a blocker, as the 1.20
> module itself can be built and run with Java 17.
> >>>>>>
> >>>>>> I am in favor of dropping Java 11 support. We probably can also add
> Java 25 to the CI build after dropping Java 11, as JDK 25 (LTS) was
> released on Sep 25. We will still have 3 LTS releases (17, 21, 25) after
> dropping Java 11.
> >>>>>>
> >>>>>> I tend to be a bit more aggressive in dropping old versions. Let's
> see what others think.
> >>>>>>
> >>>>>> On Wed, Nov 19, 2025 at 10:52 AM Jean-Baptiste Onofré <
> [email protected]> wrote:
> >>>>>>>
> >>>>>>> Hi everyone,
> >>>>>>>
> >>>>>>> I worked on the Gradle 9.x upgrade for Iceberg. Gradle 9.2.x
> requires
> >>>>>>> JDK17 minimum.
> >>>>>>>
> >>>>>>> I did a quick pass on Iceberg modules, I see all modules support
> JDK17.
> >>>>>>>
> >>>>>>> There is a known issue with JDK 17 in the Flink 1.20 module for a
> >>>>>>> specific benchmark. The comment in
> >>>>>>>
> flink/v1.20/flink/src/jmh/java/org/apache/iceberg/flink/sink/shuffle/StatisticsRecordSerializerBenchmark.java.
> >>>>>>> This benchmark in 1.20 only works with Java 11 probably due to
> usage
> >>>>>>> of ArraysAsListSerializer in FlinkChillPackageRegistrar. Flink 2.0
> and
> >>>>>>> above switched to DefaultSerializers#ArraysAsListSerializer in Kryo
> >>>>>>> 5.6.
> >>>>>>> Using Java 17 would result in the following error..."This affects
> only
> >>>>>>> that JMH benchmark, not the entire Flink 1.20 module. The module
> can
> >>>>>>> still be built and run with JDK 17; the benchmark has a runtime
> issue
> >>>>>>> due to Java module access restrictions.
> >>>>>>> I think we can live with that, waiting to remove Flink 1.20 in the
> future.
> >>>>>>>
> >>>>>>> Regarding this, I would like to start a discussion to define JDK17
> min
> >>>>>>> in Iceberg.
> >>>>>>>
> >>>>>>> Thoughts ?
> >>>>>>>
> >>>>>>> NB: if we have a consensus, I would be happy to start an
> >>>>>>> update/cleanup PR and prepare the next "major" release with JDK17
> min.
> >>>>>>>
> >>>>>>> Regards
> >>>>>>> JB
> >>
> >>
>


-- 
Twitter: https://twitter.com/holdenkarau
Fight Health Insurance: https://www.fighthealthinsurance.com
Books (Learning Spark, High Performance Spark, etc.):
https://amzn.to/2MaRAG9  <https://amzn.to/2MaRAG9>
YouTube Live Streams: https://www.youtube.com/user/holdenkarau
Pronouns: she/her

Reply via email to