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]
