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]

Reply via email to