Hi,

Just to clarify: if Gradle 9.x needs JDK17+ to run, Iceberg can still
compile/provide JDK11 bytecode
(https://docs.gradle.org/current/userguide/compatibility.html).
So, my proposal is in two steps:
1. Upgrade to JDK17 and Gradle 9, still compiling target java 11.
2. Upgrade to compile/provider Java 17 bytecode.

Thoughts ?

Regards
JB

On Mon, Nov 24, 2025 at 8:38 PM Yufei Gu <[email protected]> wrote:
>
> Thanks for driving this. +1 on dropping Java 11, the ecosystem has already 
> moved on, and Java 17 is the new baseline.
>
> For Java 25, I think it’s safer to say it’s not officially supported yet at 
> this moment.
>
> Yufei
>
>
> On Sat, Nov 22, 2025 at 2:18 AM Jean-Baptiste Onofré <[email protected]> 
> wrote:
>>
>> Hi everyone,
>>
>> The purpose of this thread was to discuss dropping Java 11 support and
>> requiring Java 17 as the minimum version for Iceberg Java modules.
>>
>> Regarding Java 25, I agree that adopting it now is a much larger
>> effort, primarily due to upstream dependencies like Hadoop.
>> Specifically, the removal of the SecurityManager and issues with
>> Subject.doAs() need to be resolved in Hadoop before we can fully
>> support JDK 25.
>>
>> It seems there is a strong consensus for dropping Java 11. I will move
>> forward with creating the necessary update/cleanup PR for the next
>> major release. Thoughts ?
>>
>> Regards,
>> JB
>>
>> On Fri, Nov 21, 2025 at 8:02 PM Holden Karau <[email protected]> wrote:
>> >
>> > 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
>> > YouTube Live Streams: https://www.youtube.com/user/holdenkarau
>> > Pronouns: she/her

Reply via email to