Skip to content

Preserve historical manifest bounds after schema evolution - #107

Merged
osipovartem merged 1 commit into
embucket-sync-df55.0.0from
fix/manifest-list-historical-bounds-df55
Oct 14, 2026
Merged

osipovartem merged 1 commit into
embucket-sync-df55.0.0from
fix/manifest-list-historical-bounds-df55

Conversation

@osipovartem

Copy link
Copy Markdown

Summary

  • Preserve historical manifest-list partition bounds when copying entries into a new commit after schema promotion or partition-source removal.
  • Keep snapshot scans on the scanned snapshot schema, including the bounds-with-nulls pruning path.
  • Restore historical decoding for the default public Avro entry helper; callers that need scan-schema decoding can use the explicit schema variant.

Validation

  • Regression: v3 manifest copy after INT -> LONG promotion and dropped partition source, plus mixed INT/LONG snapshot bounds for pruning.
  • cargo +1.99.0 test -p iceberg-rust-spec --lib: 195 active tests passed.
  • cargo +1.99.0 test -p iceberg-rust --lib table::manifest_list: 7 passed.
  • cargo +1.99.0 test -p iceberg-rust --lib table::transaction: 16 active tests passed.
  • cargo +1.94.0 clippy -p iceberg-rust -p iceberg-rust-spec --all-targets -- -D warnings: passed.
  • Independent read-only review: APPROVED after fixing both identified blockers.

Rust 1.99 strict Clippy reports pre-existing useless_borrows_in_formatting lints in untouched spec files; this PR was validated with the upstream PR's Rust 1.94 toolchain.

@osipovartem
osipovartem merged commit e749f32 into embucket-sync-df55.0.0 Oct 14, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant