peterphitran opened a new pull request, #39559:
URL: https://github.com/apache/beam/pull/39559

   ## 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](https://issues.apache.org/jira/browse/AVRO-4209). Should we keep 
the existing pin in this PR and open a separate Beam-wide Avro 1.12.2 
upgrade/validation PR?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to