fallintoplace opened a new pull request, #1331:
URL: https://github.com/apache/iceberg-go/pull/1331

   Summary
   
   build the orphan-cleanup version-hint path with a URI-aware join for URL 
locations
   keep the existing filepath join fallback for plain local filesystem paths
   add regression coverage for URI and local-path version-hint construction, 
plus the referenced-file set
   
   Why
   
   `Table.getReferencedFiles` adds `metadata/version-hint.text` to the 
referenced set so orphan cleanup will not delete it. That path was being built 
with `filepath.Join(metadata.Location(), ...)`, which is fine for plain local 
paths but corrupts object-store URIs like `s3://bucket/table` into 
`s3:/bucket/table/...`.
   
   Once that malformed path hit orphan cleanup's normalizer, it no longer 
looked like a URL and could diverge from the real `s3://.../version-hint.text` 
candidate path. That made the real version-hint file eligible to be treated as 
an orphan.
   
   Testing
   
   go test ./table -run 
'Test(VersionHintLocation|GetReferencedFiles_IncludesStatisticsFiles|.*Orphan.*)$'
 -count=1
   go test ./table -count=1
   go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run 
--timeout=10m ./table/...
   git diff --check
   


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