steveis commented on PR #2786: URL: https://github.com/apache/iceberg-rust/pull/2786#issuecomment-4927894586
Pushed 9596abc addressing review feedback from Andrei Tserakhau (built the equivalent in iceberg-go): - **Documented the 200/204 contract**: success returns no refreshed metadata, so callers must reload affected tables before building further transactions. - **Documented the error-mapping atomicity surface** and added an explicit 503 arm: 409 = did-not-apply, marked retryable; 500/502/503/504 = commit-state-unknown, deliberately NOT retryable (blind resubmission can double-apply). Design notes for reviewers: the base `Catalog` trait is not widened — `commit_transaction` is inherent on `RestCatalog` only. `prepare_commit` consumes the `Transaction`; unlike Go, Rust's ownership makes consume-on-prepare the safer default (a prepared transaction can't also be `commit()`ed), while still supporting the build-N-then-batch pattern. -- 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]
