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

   ## Summary
   
   - conditionally claim the Glue source table by `VersionId` before issuing 
the service's unconditional delete
   - make the claimed source temporarily non-Iceberg so new writers stop, while 
stale writers fail the optimistic version check
   - restore the source conditionally if deletion fails, then remove the 
destination only after the source is visible again
   - run rename rollback with a detached, bounded context and preserve rollback 
failures in the returned error
   
   ## Why
   
   Glue implements rename as create-destination followed by delete-source, but 
`DeleteTable` has no version condition. A commit could previously land after 
the final source read and then be deleted, leaving the destination on the older 
metadata version.
   
   The conditional claim closes that window: a commit that wins first 
invalidates the rename's `VersionId`, while a rename that wins first prevents 
new Iceberg commits from advancing the source before deletion.
   
   ## Testing
   
   - `go test ./catalog/glue`
   - `go vet ./catalog/glue`
   - repository package suite excluding the locally hanging `io/gocloud` test 
binary
   


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