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

Reply via email to