This is an automated email from the ASF dual-hosted git repository.
tustvold pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-rs-object-store.git
The following commit(s) were added to refs/heads/main by this push:
new 46abab9 fix(aws): set retry_error_body on bulk_delete_request (#733)
46abab9 is described below
commit 46abab96e8acab55e22434fba84154ce34ddcaf5
Author: rustyprimus <[email protected]>
AuthorDate: Wed May 27 16:11:05 2026 +0300
fix(aws): set retry_error_body on bulk_delete_request (#733)
AWS S3 can return HTTP 200 with a SlowDown or InternalError XML body
for DeleteObjects requests. The retry logic already handles this via
body_contains_error() when retry_error_body is set, and other requests
(copy_part, complete_multipart) already use this flag. bulk_delete_request
was missing it, causing throttling errors to surface instead of being
retried.
Closes #277
---
src/aws/client.rs | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/aws/client.rs b/src/aws/client.rs
index 6716bb0..f579a89 100644
--- a/src/aws/client.rs
+++ b/src/aws/client.rs
@@ -578,7 +578,9 @@ impl S3Client {
.header(CONTENT_TYPE, "application/xml")
.body(body)
.with_aws_sigv4(credential.authorizer(), Some(digest.as_ref()))
- .send_retry(&self.config.retry_config)
+ .retryable(&self.config.retry_config)
+ .retry_error_body(true)
+ .send()
.await
.map_err(|source| Error::DeleteObjectsRequest {
source,