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,

Reply via email to