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