cshuo opened a new pull request, #19655: URL: https://github.com/apache/hudi/pull/19655
### Describe the issue this Pull Request addresses Closes #18912. Hudi does not currently provide a Flink 2.2 compatibility module or build profile, preventing users from running Hudi with features introduced in the latest Flink 2.2 release line. ### Summary and Changelog - Add the `hudi-flink2.2.x` compatibility module and a `flink2.2` Maven profile based on Flink 2.2.1. - Use Avro 1.11.4, Parquet 1.15.2, ORC 1.5.6, and Kafka Connector 5.0.0-2.2 for the Flink 2.2 profile. - Adapt the keyed state store test fixture to Flink 2.2's `getBackendTypeIdentifier()` API. - Make Flink 2.2 the default Flink build, while retaining explicit Flink 2.1 and earlier profiles. - Update documentation, release scripts, and CI matrices for the Flink 2.2 bundle. - Add Flink 2.2.1 bundle validation using the `icshuo/hudi-ci-bundle-validation-base:flink221hive313spark351` base image. ### Impact The default Hudi Flink build and bundle now target Flink 2.2.1. Users that require Flink 2.1 can continue to build with `-Dflink2.1`. This change does not alter Hudi's storage format or public table APIs and has no expected runtime performance impact beyond the behavior of the upgraded Flink dependencies. ### Risk Level Medium. The change updates the default Flink dependency line and adds a version-specific compatibility module. The risk is mitigated by retaining older explicit profiles, compiling both Flink 2.2 and Flink 2.1, running targeted Flink tests, building the Flink 2.2 bundle, and enabling bundle validation in CI. Validation performed: - `mvn -Pflink2.2 -pl hudi-flink-datasource/hudi-flink -am -DskipTests -Dstyle.color=never test-compile` - `mvn -Pflink2.2 -Punit-tests -pl hudi-flink-datasource/hudi-flink -am -Dtest=TestDynamicBucketAssignFunction -Dsurefire.failIfNoSpecifiedTests=false -Dstyle.color=never test` (5 tests passed) - `mvn -Pflink2.2 -pl packaging/hudi-flink-bundle -am -Dmaven.test.skip=true -Dstyle.color=never package` - `mvn -Pflink2.1 -pl hudi-flink-datasource/hudi-flink -am -DskipTests -Dstyle.color=never compile` - Shell syntax, GitHub Actions YAML parsing, and `git diff --check` ### Documentation Update The README build profile and default Flink version documentation are updated for Flink 2.2. ### Contributor's checklist - [ ] Read through [contributor's guide](https://hudi.apache.org/contribute/how-to-contribute) - [ ] Enough context is provided in the sections above - [ ] Adequate tests were added if applicable -- 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]
