YuangGao opened a new pull request, #3672:
URL: https://github.com/apache/iceberg-rust/pull/3672

   ## Which issue does this PR close?
   
   - Closes #3671.
   
   ## What changes are included in this PR?
   
   - Parse `idempotency-key-lifetime` from the config response. When the server 
advertises it, mutations (namespace create/drop, table 
create/drop/purge/rename/register/update) send a UUIDv7 `Idempotency-Key`; 
reads don't.
   - `HttpClient` retries keyed requests on 429/500/502/503/504 and on connect 
or timeout errors, reusing the key, with the Java client's exponential backoff 
(1s to 64s, 5 retries, jitter), capped by the advertised lifetime. Requests 
without a key behave as before.
   - `commit_transaction` from #3398 can use the same `mutation_request` once 
it lands.
   
   ## Are these changes tested?
   
   - Unit tests: keys are UUIDv7 and differ per mutation, reads and servers 
without the lifetime send none, and a 503 is retried with the same key. 
Lifetime parsing covers valid and invalid durations.
   
   ## AI Disclosure
   - AI-assisted implementation.


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