all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Christian Ebner <c.ebner@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [PATCH proxmox v2 0/3] fix #6858: implement retry logic for transient API errors
Date: Tue, 24 Feb 2026 14:49:41 +0100	[thread overview]
Message-ID: <20260224134944.593408-1-c.ebner@proxmox.com> (raw)

These patches implement the best practice [0] on handling S3 API
response status codes 500, 503 by retrying the requests after an
exponential backoff time. Do the same for status code 504, as this
is returned by some storage providers if overwhelmed [1].

The first 2 patches contain a small fix to avoid additional response
latency in case of request timeout being reached and reorganize the
code for better logical flow. The final patch then adds the
additional response status code checks for retires.

Link to the issue in bugzilla:
https://bugzilla.proxmox.com/show_bug.cgi?id=6858

[0] https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorBestPractices.html
[1] https://forum.proxmox.com/threads/180956/

Changes since version 1 (thanks @Fabian for review):
- return the last error if retries are exhausted
- consider also 504 gateway timeout as retryable

Christian Ebner (3):
  s3-client: early return when request timeout deadline reached
  s3-client: move exponential backoff to after the response state check
  fix #6858: s3-client: retry request on 500, 503 and 504 status codes

 proxmox-s3-client/src/client.rs | 38 ++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 19 deletions(-)

-- 
2.47.3





             reply	other threads:[~2026-02-24 13:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-24 13:49 Christian Ebner [this message]
2026-02-24 13:49 ` [PATCH proxmox v2 1/3] s3-client: early return when request timeout deadline reached Christian Ebner
2026-02-24 13:49 ` [PATCH proxmox v2 2/3] s3-client: move exponential backoff to after the response state check Christian Ebner
2026-02-24 13:49 ` [PATCH proxmox v2 3/3] fix #6858: s3-client: retry request on 500, 503 and 504 status codes Christian Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260224134944.593408-1-c.ebner@proxmox.com \
    --to=c.ebner@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal