drbothen opened a new pull request, #2149:
URL: https://github.com/apache/iceberg-rust/pull/2149

   ## Summary
   
   - Fix `FastAppendAction::existing_manifest()` to carry forward delete-only 
manifests
   - Without this fix, manifests containing only Deleted entries are dropped 
when a new snapshot is produced by `fast_append`, causing previously deleted 
files to reappear as live data
   
   Closes #2148
   
   ## Details
   
   The `existing_manifest()` filter checked `has_added_files() || 
has_existing_files()` but not `has_deleted_files()`. A delete-only manifest 
(created by operations like `rewrite_files` to record file removals) would be 
silently dropped on the next `fast_append`, breaking snapshot isolation and 
causing compounding data duplication.
   
   The fix adds `|| entry.has_deleted_files()` so delete-only manifests persist 
until `expire_snapshots` cleans them up, consistent with the Iceberg spec's 
requirement that delete tracking survives across snapshot boundaries.
   
   ## Test plan
   
   - [x] All existing `fast_append` tests pass (`cargo test -p iceberg --lib -- 
append`)
   - [x] Full unit test suite passes (`cargo test -p iceberg --lib` — 1,211 
tests)
   - [ ] Integration test demonstrating the bug requires `rewrite_files` 
(planned for that PR)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to