Skip to content

[AMORO-4162] Upgrade Iceberg dependency from 1.6.1 to 1.7.2#4163

Merged
czy006 merged 4 commits intoapache:masterfrom
j1wonpark:iceberg-1.7.0-upgrade
Apr 7, 2026
Merged

[AMORO-4162] Upgrade Iceberg dependency from 1.6.1 to 1.7.2#4163
czy006 merged 4 commits intoapache:masterfrom
j1wonpark:iceberg-1.7.0-upgrade

Conversation

@j1wonpark
Copy link
Copy Markdown
Contributor

@j1wonpark j1wonpark commented Apr 1, 2026

Why are the changes needed?

Resolve #4162.

Stepping stone toward Iceberg 1.10.1, picking up bug fixes

Brief change log

  • Bump iceberg.version 1.6.1 → 1.7.2 in root pom.xml
  • Adapt FlinkWriteResult API change in Flink sink pipeline
  • Migrate PruneColumns from ParquetTypeVisitor to TypeWithSchemaVisitor in AdaptHiveParquetSchemaUtil
  • Add FieldGetter[] parameter to RowDataUtil.clone() call in RowDataRecordFactory
  • Fork MiniClusterResource (removed in Iceberg 1.7.0) into org.apache.amoro.flink test package
  • Fix INT96 timestamp min/max inversion in AdaptHiveParquetUtil — Parquet byte-order ≠ chronological order
  • Transitive dependency bumps: Avro 1.12.0, httpclient5 5.4, httpcore5 5.3, new failsafe 3.3.2

How was this patch tested?

  • Run test locally before making a pull request
    • amoro-format-iceberg, amoro-mixed-flink-common, amoro-mixed-hive: PASS
    • TestDataExpire (216 tests), TestDataExpireHive (48 tests): PASS
    • TestSnapshotExpire, TestSnapshotExpireHive, TestSnapshotExpireIceberg, TestDataExpireIceberg: PASS

Documentation

  • Does this pull request introduce a new feature? no

@github-actions github-actions bot added module:mixed-flink Flink moduel for Mixed Format module:mixed-spark Spark module for Mixed Format module:ams-server Ams server module module:mixed-hive Hive moduel for Mixed Format module:mixed-trino trino module for Mixed Format type:build type:docs Improvements or additions to documentation type:infra labels Apr 1, 2026
@j1wonpark j1wonpark force-pushed the iceberg-1.7.0-upgrade branch from 9b10e14 to e2a8720 Compare April 2, 2026 02:58
@github-actions github-actions bot removed module:mixed-spark Spark module for Mixed Format module:ams-server Ams server module module:mixed-trino trino module for Mixed Format labels Apr 2, 2026
@xxubai xxubai added this to the Release 0.9.0 milestone Apr 2, 2026
@j1wonpark j1wonpark marked this pull request as ready for review April 2, 2026 06:23
@j1wonpark j1wonpark marked this pull request as draft April 2, 2026 11:28
@j1wonpark j1wonpark marked this pull request as ready for review April 2, 2026 13:22
@j1wonpark j1wonpark force-pushed the iceberg-1.7.0-upgrade branch from 47121d3 to 3437084 Compare April 2, 2026 13:25
@j1wonpark j1wonpark marked this pull request as draft April 2, 2026 21:04
@j1wonpark j1wonpark marked this pull request as ready for review April 3, 2026 12:40
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Apr 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 29.65%. Comparing base (fe98a6c) to head (49776ce).
⚠️ Report is 10 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #4163      +/-   ##
============================================
- Coverage     29.93%   29.65%   -0.29%     
- Complexity     4229     4246      +17     
============================================
  Files           675      677       +2     
  Lines         53990    54690     +700     
  Branches       6838     6960     +122     
============================================
+ Hits          16161    16216      +55     
- Misses        36636    37268     +632     
- Partials       1193     1206      +13     
Flag Coverage Δ
core 29.65% <100.00%> (-0.29%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@j1wonpark j1wonpark force-pushed the iceberg-1.7.0-upgrade branch 2 times, most recently from 132ddcd to 52f3da8 Compare April 6, 2026 05:31
Bump iceberg.version in root pom.xml and update dependency manifests
and documentation references.

Notable transitive dependency changes:
- Avro 1.11.3 → 1.12.0
- httpclient5 5.3.1 → 5.4, httpcore5 5.2.4 → 5.3
- New: failsafe 3.3.2

Signed-off-by: Jiwon Park <jpark92@outlook.kr>
- Migrate WriteResult → FlinkWriteResult in Flink sink pipeline
- Add FieldGetter[] parameter to RowDataUtil.clone() in RowDataRecordFactory
- Migrate PruneColumns from ParquetTypeVisitor to TypeWithSchemaVisitor
- Fix INT96 timestamp min/max statistics byte-order inversion
- Fork MiniClusterResource (removed in Iceberg 1.7.0) into test package
- Update MiniClusterResource imports in all test classes

Signed-off-by: Jiwon Park <jpark92@outlook.kr>
- TestAdaptHiveParquetSchemaUtil: verify pruneColumns with
  TypeWithSchemaVisitor correctly prunes columns using expected schema
- TestAdaptHiveParquetUtil: verify INT96 timestamp min/max statistics
  are correctly re-ordered when byte-wise ordering disagrees with
  chronological ordering

Signed-off-by: Jiwon Park <jpark92@outlook.kr>
@j1wonpark j1wonpark force-pushed the iceberg-1.7.0-upgrade branch from 52f3da8 to 0f6c595 Compare April 6, 2026 23:56
Copy link
Copy Markdown
Contributor

@xxubai xxubai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall. The Iceberg 1.7.2 adaptation looks consistent.

Literal<?> min;
Literal<?> max;
@SuppressWarnings("unchecked")
java.util.Comparator<Object> cmp = (java.util.Comparator<Object>) val1.comparator();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
java.util.Comparator<Object> cmp = (java.util.Comparator<Object>) val1.comparator();
Comparator<Object> cmp = (Comparator<Object>) val1.comparator();

Copy link
Copy Markdown
Contributor

@zhoujinsong zhoujinsong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall.
Thanks a lot for the work!

Copy link
Copy Markdown
Contributor

@czy006 czy006 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@czy006 czy006 merged commit 7591680 into apache:master Apr 7, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

module:mixed-flink Flink moduel for Mixed Format module:mixed-hive Hive moduel for Mixed Format type:build type:docs Improvements or additions to documentation type:infra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Improvement]: Upgrade Iceberg dependency from 1.6 to 1.7

5 participants