fallintoplace opened a new pull request, #1437: URL: https://github.com/apache/iceberg-go/pull/1437
## Summary - index referenced files by URI path as well as their full normalized URI - apply prefix mismatch policy when a listed file has the same path but a different scheme or authority - distinguish keep and delete decisions for `IGNORE` and `DELETE` - cover all three mismatch modes end to end for scheme and authority conflicts ## Root cause Orphan detection looked up candidates only by their full normalized URI. A file whose object path matched a reference but whose scheme or authority differed did not reach the prefix mismatch check unless an equivalence mapping had already normalized both URIs to the same value. It therefore fell through as an orphan and could be deleted in `ERROR` or `IGNORE` mode. The comparison now retains a path-only index alongside the full normalized index. Full and configured-equivalent matches remain referenced. Same-path prefix conflicts are then handled according to the configured mode: `ERROR` stops cleanup, `IGNORE` keeps the file, and `DELETE` treats it as an orphan. ## Validation - `go test ./table -run '^(TestDeleteOrphanFilesPrefixMismatchModes|TestCheckPrefixMismatch|TestIsFileOrphan|TestOrphanCleanup_EdgeCases)$' -count=1` - `go test ./table -count=1` - `go test ./... -count=1` - `golangci-lint run --timeout=10m` -- 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]
