[AMORO-4110] Upgrade Iceberg versions with per-engine compatibility modules#4109
[AMORO-4110] Upgrade Iceberg versions with per-engine compatibility modules#4109xxubai wants to merge 8 commits into
Conversation
b685b0a to
e43126e
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4109 +/- ##
============================================
- Coverage 22.44% 22.42% -0.02%
Complexity 2552 2552
============================================
Files 458 458
Lines 42022 42056 +34
Branches 5915 5917 +2
============================================
Hits 9433 9433
- Misses 31777 31811 +34
Partials 812 812
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…r compatibility with new interface
…Avro and Parquet libraries
f23a886 to
1e4e991
Compare
|
This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@amoro.apache.org list. Thank you for your contributions. |
Why are the changes needed?
Amoro is upgrading Iceberg, but different engines (Flink/Spark/Hive) have different compatibility windows for Iceberg artifacts and APIs.
To avoid a one-version-for-all conflict, this PR introduces per-module version overrides and engine-specific compatibility modules, so newer engines can use newer Iceberg while older engines keep compatible versions.
Close #4110.
Brief change log
iceberg.versionoverride strategy in mixed-format modules.amoro-mixed-flink-common-1.17amoro-mixed-flink-common-iceberg-bridge-1.17MiniClusterResourcetest API compatibility updatesv3.3/v3.4/v3.5) for Iceberg API updates.IcebergRewriteExecutorTest) and module wiring in POMs.How was this patch tested?
Add some test cases that check the changes thoroughly including negative and positive cases if possible
Add screenshots for manual tests if appropriate
Run test locally before making a pull request
Local verification (examples):
mvn -pl amoro-format-mixed/amoro-mixed-hive -am -DskipTests compilemvn -pl amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common-iceberg-bridge -am -DskipTests compilemvn -pl amoro-format-mixed/amoro-mixed-flink/v1.17/amoro-mixed-flink-1.17,amoro-format-mixed/amoro-mixed-flink/v1.18/amoro-mixed-flink-1.18 -am -DskipTests compileDocumentation