ayushtkn opened a new pull request, #5138:
URL: https://github.com/apache/polaris/pull/5138

   Polaris' `CatalogHandlerUtils` replicates Iceberg's `CatalogHandlers` (as of 
1.8.0) and never picked up the `RetryableValidationException` handling 
`CatalogHandlers.commit()` added later. Under concurrency (e.g. writes to 
different branches of a table, or staged/WAP snapshots), 
`TableMetadata.Builder.addSnapshot` throws `RetryableValidationException` โ€” a 
`ValidationException` subclass โ€” which Polaris leaks as a fatal HTTP `400` 
instead of the retryable `409` the Iceberg client would retry, permanently 
failing a commit that should succeed on rebase. This mirrors 
`CatalogHandlers.commit()`, wrapping the update-apply step to rethrow a 
`CommitFailedException`, in both the single-table commit and multi-table 
commitTransaction paths
   
   ## Checklist
   - [ ] ๐Ÿ›ก๏ธ Don't disclose security issues! (contact [email protected])
   - [ ] ๐Ÿ”— Clearly explained why the changes are needed, or linked related 
issues: Fixes #
   - [ ] ๐Ÿงช Added/updated tests with good coverage, or manually tested (and 
explained how)
   - [ ] ๐Ÿ’ก Added comments for complex logic
   - [ ] ๐Ÿงพ Updated `CHANGELOG.md` (if needed)
   - [ ] ๐Ÿ“š Updated documentation in `site/content/in-dev/unreleased` (if needed)
   


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

Reply via email to