Skip to content

[IcebergIO] Upgrade Iceberg dependency to 1.11.0 - #39559

Merged
Abacn merged 3 commits into
apache:masterfrom
peterphitran:iceberg-1.11.0-bump-v2
Jul 30, 2026
Merged

[IcebergIO] Upgrade Iceberg dependency to 1.11.0#39559
Abacn merged 3 commits into
apache:masterfrom
peterphitran:iceberg-1.11.0-bump-v2

Conversation

@peterphitran

Copy link
Copy Markdown
Contributor

What Changes

Upgrades Apache Iceberg from 1.10.0 to 1.11.0, including its core, file-format, and cloud-storage components (iceberg-core/api/parquet/orc/data and the GCP/AWS/Azure runtime modules).

This PR is based on #39064, which raised IcebergIO’s Java requirement to Java 17. Tracks #38925.

What Does Not Change

Iceberg 1.11.0 would normally bring in newer Parquet libraries (1.17.1). This PR keeps Beam on its existing Parquet version (1.16.0) so the Iceberg upgrade does not change Parquet behavior. We can upgrade Parquet separately after testing it across Beam.

The existing Iceberg read/write APIs used by Beam are still available in Iceberg 1.11.0. They are marked as deprecated, but have not been removed, so no source-code changes are needed in this PR. A follow-up PR will migrate Beam to Iceberg’s newer API.

What was tested

  • Ran the full IcebergIO unit-test build: 309 tests passed with no failures or errors.
  • Confirmed Beam resolves Iceberg 1.11.0 and keeps parquet-avro and parquet-hadoop at 1.16.0.
  • Built the Beam modules that depend on IcebergIO:
    • Beam SQL Iceberg extension
    • Iceberg examples
    • Java expansion-service jar
  • Ran Iceberg’s Hadoop-version test matrix against the supported Hadoop versions (3.3.6 and 3.4.1).
  • Confirmed the Java 17 build path works, including compilation from a Java 11 host that forks a Java 17 compiler.

Not run locally

Cloud-backed Iceberg integration tests require Google Cloud credentials.
Full linkage-checker output could not be completed locally because of build-infrastructure dependency resolution issues.

Reviewer decision requested (Dependency Questions)

  1. ORC artifact selection: Iceberg uses the orc-core:nohive artifact. Beam currently declares unclassified orc-core, which can conflict with Iceberg’s ORC classes. The focused Beam ORC read test passes with nohive on both ORC 1.9.6 and 1.9.8. Should this PR include the small dependency correction, or should it remain strictly scoped to the Iceberg bump and track that correction separately?

  2. Avro version: Beam deliberately forces Avro 1.12.0 even though Iceberg 1.11.0 requests 1.12.1. The current test suite passes with Beam’s resolved 1.12.0, so this PR does not change Avro behavior. However, the issue that motivated avoiding 1.12.1 looks to have been resolved AVRO-4209. Should we keep the existing pin in this PR and open a separate Beam-wide Avro 1.12.2 upgrade/validation PR?

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 apache#39064 (Java 17 floor). Tracks apache#38925.
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

Comment thread CHANGES.md
@github-actions

Copy link
Copy Markdown
Contributor

Assigning reviewers:

R: @kennknowles for label java.

Note: If you would like to opt out of this review, comment assign to next reviewer.

Available commands:

  • stop reviewer notifications - opt out of the automated review tooling
  • remind me after tests pass - tag the comment author after tests pass
  • waiting on author - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)

The PR bot will only process comments in the main thread (not review comments).

Comment thread CHANGES.md Outdated
Co-authored-by: Yi Hu <huuyyi@gmail.com>
@Abacn
Abacn merged commit b8d77b8 into apache:master Jul 30, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants