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

   ## Summary
   
   - When `from_snapshot_id` is `None` (scan from the beginning of time), the 
incremental scan was silently dropping `EXISTING` manifest entries, causing 
data from expired snapshots to go missing
   - Root cause: three compounding filters excluded data files whose original 
snapshot was expired from the catalog — the `added_snapshot_id` manifest 
filter, the `filter_fn` entry filter, and the `else { Ok(()) }` status check
   - Fix: when `from=None`, switch to full-scan semantics — use only 
`to_snapshot`'s manifest list (no `added_snapshot_id` filter), clear 
`filter_fn`, and treat `EXISTING` entries as appends alongside `Added` entries
   
   ## Test plan
   
   - [x] New test 
`test_incremental_scan_from_none_includes_existing_entries_from_expired_snapshots`
 — creates a 2-snapshot table, rebuilds the Table with only snapshot 2 in the 
metadata (simulating snapshot 1 being expired), and asserts that `from=None` 
returns all live rows including those from the expired snapshot
   - [x] All 28 existing incremental scan tests pass without regression
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
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