peterphitran opened a new pull request, #39064:
URL: https://github.com/apache/beam/pull/39064
Addresses #38925 (preparatory PR1a of 2).
## What changes
Raises the Java floor for IcebergIO and its dependent modules from **11 to
17**, in preparation for the upcoming Iceberg **1.11.0** upgrade (PR1b).
Iceberg 1.11.0 is published as Java 17 bytecode and drops Java 11, so the floor
has to move first. Splitting the floor raise into its own self-contained,
CI-green PR keeps the dependency bump (PR1b) minimal and lets CI validate the
Java 17 floor independently.
**`requireJavaVersion` 11 → 17** (Gradle's JVM-version variant resolution
will not let a Java 11 module depend on a Java 17 one, so these must move
together):
- `sdks/java/io/iceberg/build.gradle`
- `sdks/java/extensions/sql/iceberg/build.gradle` (depends on the IcebergIO
module)
- `examples/java/iceberg/build.gradle` (depends on the IcebergIO module)
**CI workflows** — the five `IO_Iceberg_*` GitHub Actions workflows now set
`java-version: 17` (they otherwise default to 11 via
`setup-environment-action`), matching the Delta and Debezium IO workflows:
- `.github/workflows/IO_Iceberg_Unit_Tests.yml`
- `.github/workflows/IO_Iceberg_Integration_Tests.yml`
- `.github/workflows/IO_Iceberg_Integration_Tests_Dataflow.yml`
- `.github/workflows/IO_Iceberg_Managed_Integration_Tests_Dataflow.yml`
- `.github/workflows/IO_Iceberg_Performance_Tests.yml`
## What does NOT change
- **No dependency bump here.** `iceberg_version` stays at 1.10.0; the bump
to 1.11.0 is PR1b (stacked on this PR).
- The Java IO expansion service (`sdks/java/io/expansion-service`) is
already Java 17 on master (#38974), so it needs no change.
- No public API change. `IcebergIO` is internal, exposed only via
`Managed.read(ICEBERG)` / `Managed.write(ICEBERG)`.
## Breaking change
Pipelines using `Managed.read(ICEBERG)` / `Managed.write(ICEBERG)`, and Beam
SQL's IcebergIO extension, now require a Java 17+ JVM. (The cross-language
expansion service already required Java 17 as of #38974.) Documented in
`CHANGES.md`.
## Verification
- `:sdks:java:io:iceberg:compileJava` and the dependent modules compile on
JDK 17.
- The five updated `IO_Iceberg_*` workflows run on Java 17.
------------------------
Thank you for your contribution! Follow this checklist to help us
incorporate your contribution quickly and easily:
- [x] Mention the appropriate issue in your description (for example:
`addresses #123`).
- [x] Update `CHANGES.md` with noteworthy changes.
- [ ] If this contribution is large, please file an Apache [Individual
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
--
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]