Skip to content

feat: Adding delete file footers#2316

Open
xanderbailey wants to merge 1 commit intoapache:mainfrom
xanderbailey:feat/delete-file-footer-metadata
Open

feat: Adding delete file footers#2316
xanderbailey wants to merge 1 commit intoapache:mainfrom
xanderbailey:feat/delete-file-footer-metadata

Conversation

@xanderbailey
Copy link
Copy Markdown
Contributor

@xanderbailey xanderbailey commented Apr 10, 2026

Which issue does this PR close?

What changes are included in this PR?

Equality delete files written by iceberg-rust are missing the delete-type and delete-field-ids key-value metadata in the Parquet file footer. Java writes these in Parquet.java#L1017-L1022
ORC also does this but we don't support ORC in rust.

This PR adds a with_footer_metadata(key, value) method to the FileWriterBuilder trait and wires it up so EqualityDeleteFileWriterBuilder::new() automatically injects the metadata. The metadata is now written without callers having to remember to set it.

The trait-level approach was chosen over a Parquet-specific helper because Java writes the same metadata across all three file formats. A future ORC or Avro writer can implement with_footer_metadata and the delete writers will work without changes.

Trade-off: adding a required method to FileWriterBuilder is a breaking change for any out-of-tree implementations of the trait. ParquetWriterBuilder is the only implementation today so this shouldn't affect anyone in practice.

Position delete writers don't exist yet in iceberg-rust, but when they do, the same with_footer_metadata plumbing can be used to add delete-type: position.

Are these changes tested?

Yes

@xanderbailey xanderbailey force-pushed the feat/delete-file-footer-metadata branch from adabbda to 25d659c Compare April 10, 2026 01:17
@xanderbailey xanderbailey changed the title Adding delete file footers feat: Adding delete file footers Apr 10, 2026
@xanderbailey xanderbailey force-pushed the feat/delete-file-footer-metadata branch from 25d659c to de2e36a Compare April 15, 2026 18:39
@xanderbailey xanderbailey force-pushed the feat/delete-file-footer-metadata branch from de2e36a to 18b88b1 Compare April 15, 2026 18:45
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.

Adding delete file footers

1 participant