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]

Reply via email to