Skip to content

feat: support authenticated footer metadata updates - #3

Merged
kiloOhm merged 1 commit into
masterfrom
codex/footer-metadata-rewrite
Aug 12, 2026
Merged

feat: support authenticated footer metadata updates#3
kiloOhm merged 1 commit into
masterfrom
codex/footer-metadata-rewrite

Conversation

@kiloOhm

@kiloOhm kiloOhm commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • add ParquetFooter.UpdateCustomMetadataAsync overloads for paths and streams
  • authenticate existing encrypted or signed plaintext footers before mutation
  • preserve the original algorithm, AAD identity, footer mode, and key metadata when re-encrypting or re-signing
  • share footer serialization between normal writes and metadata-only rewrites
  • cover plaintext, AES-GCM, and AES-GCM-CTR footer updates

Review

No unresolved correctness findings. The implementation prepares the replacement footer before truncation, checks cancellation before mutation, leaves row-group bytes unchanged, and leaves authenticated files byte-for-byte unchanged when the supplied key is invalid.

Validation

  • dotnet format src/Parquet.slnx --verify-no-changes ...
  • dotnet build src/Parquet.slnx -c Release
  • 7/7 focused footer regression tests pass
  • 922 self-contained tests pass; 3 skipped
  • 5 Parquet-MR interoperability tests require the unavailable ENCRYPTED_PARQUET_INSPECTOR_JAR

@kiloOhm
kiloOhm marked this pull request as ready for review August 12, 2026 07:57
@kiloOhm
kiloOhm merged commit f8ab6ed into master Aug 12, 2026
8 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