This is an automated email from the ASF dual-hosted git repository.
Abacn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push:
new b8d77b86055 [IcebergIO] Upgrade Iceberg dependency to 1.11.0 (#39559)
b8d77b86055 is described below
commit b8d77b860553c94d3cc28b587344f044f25875ef
Author: Peter Tran <[email protected]>
AuthorDate: Thu Jul 30 17:11:25 2026 -0500
[IcebergIO] Upgrade Iceberg dependency to 1.11.0 (#39559)
* [IcebergIO] Upgrade Iceberg dependency to 1.11.0
Bumps iceberg-core/api/parquet/orc/data and the GCP/AWS/Azure runtime
modules from 1.10.0 to 1.11.0.
Iceberg 1.11.0 pulls parquet-avro/parquet-hadoop 1.17.1 transitively; pin
them at 1.16.0 (current Beam parquet_version) so this PR stays
zero-behavior-change. A separate PR can bump parquet_version once 1.17.x is
vetted across the rest of Beam.
The old per-format static builders (Parquet.read(), Avro.writeData(),
ORC.write(), etc.) are only deprecated in 1.11.0, not removed, so RecordWriter
/ ScanTaskReader / ReadUtils still compile unchanged. A follow-up PR will
migrate them to the new FormatModelRegistry SPI.
Rebased on merged #39064 (Java 17 floor). Tracks #38925.
* Update changelog
* Apply suggestions from code review
Co-authored-by: Yi Hu <[email protected]>
---------
Co-authored-by: Yi Hu <[email protected]>
---
CHANGES.md | 3 ++-
sdks/java/io/iceberg/build.gradle | 6 +++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/CHANGES.md b/CHANGES.md
index 75a362d1580..f71dab149d8 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -64,6 +64,7 @@
## I/Os
+* Upgraded Iceberg dependency to 1.11.0 (Java)
([#38925](https://github.com/apache/beam/issues/38925)).
* Support for X source added (Java/Python)
([#X](https://github.com/apache/beam/issues/X)).
* Add ArrowFlight IO (Java)
([#20116](https://github.com/apache/beam/issues/20116)).
@@ -85,7 +86,7 @@
* (Python) Typehints of dataclass fields are honored during type inferences.
To restore the behavior of fallback-to-any,
use pipeline option `--exclude_infer_dataclass_field_type`
([#38797](https://github.com/apache/beam/issues/38797)).
However fixing forward is recommended.
-* (Java) IcebergIO now requires Java 17 at runtime. This raises the floor in
preparation for the Iceberg 1.11.0 upgrade
([#38925](https://github.com/apache/beam/issues/38925)).
+* (Java) IcebergIO and projects that use it must now be built with Java 17 or
later as a result of Iceberg 1.11.0 upgrade
([#38925](https://github.com/apache/beam/issues/38925)).
## Deprecations
diff --git a/sdks/java/io/iceberg/build.gradle
b/sdks/java/io/iceberg/build.gradle
index 7cdd32ed90e..983ebd07fef 100644
--- a/sdks/java/io/iceberg/build.gradle
+++ b/sdks/java/io/iceberg/build.gradle
@@ -37,7 +37,7 @@ def hadoopVersions = [
hadoopVersions.each {kv -> configurations.create("hadoopVersion$kv.key")}
-def iceberg_version = "1.10.0"
+def iceberg_version = "1.11.0"
def parquet_version = "1.16.0"
def orc_version = "1.9.6"
def hive_version = "3.1.3"
@@ -118,6 +118,10 @@ dependencies {
configurations.all {
// iceberg-core needs avro:1.12.0
resolutionStrategy.force 'org.apache.avro:avro:1.12.0'
+ // Iceberg 1.11.0 pulls parquet 1.17.1 transitively; hold at 1.16.0 to keep
+ // this PR zero-behavior-change. Bump parquet_version in a separate PR.
+ resolutionStrategy.force 'org.apache.parquet:parquet-avro:1.16.0'
+ resolutionStrategy.force 'org.apache.parquet:parquet-hadoop:1.16.0'
// TODO(https://github.com/apache/beam/issues/38515):
// Remove below pins when parquet-hadoop upgrades to hadoop-common:3.4.2
resolutionStrategy.force 'org.apache.hadoop:hadoop-common:3.3.6'