This is an automated email from the ASF dual-hosted git repository.
tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
The following commit(s) were added to refs/heads/master by this push:
new 678517018d docs[object_store]: clarify the backoff strategy that is
actually implemented (#6325)
678517018d is described below
commit 678517018ddfd21b202a94df13b06dfa1ab8a378
Author: Weston Pace <[email protected]>
AuthorDate: Thu Aug 29 09:35:00 2024 -0700
docs[object_store]: clarify the backoff strategy that is actually
implemented (#6325)
* Clarify the backoff strategy that is actually implemented
* Update object_store/src/client/backoff.rs
Co-authored-by: Raphael Taylor-Davies
<[email protected]>
---------
Co-authored-by: Raphael Taylor-Davies
<[email protected]>
---
object_store/src/client/backoff.rs | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/object_store/src/client/backoff.rs
b/object_store/src/client/backoff.rs
index e01589102e..a1fa26cde2 100644
--- a/object_store/src/client/backoff.rs
+++ b/object_store/src/client/backoff.rs
@@ -18,7 +18,12 @@
use rand::prelude::*;
use std::time::Duration;
-/// Exponential backoff with jitter
+/// Exponential backoff with decorrelated jitter algorithm
+///
+/// The first backoff will always be `init_backoff`.
+///
+/// Subsequent backoffs will pick a random value between `init_backoff` and
+/// `base * previous` where `previous` is the duration of the previous backoff
///
/// See
<https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/>
#[allow(missing_copy_implementations)]
@@ -28,7 +33,7 @@ pub struct BackoffConfig {
pub init_backoff: Duration,
/// The maximum backoff duration
pub max_backoff: Duration,
- /// The base of the exponential to use
+ /// The multiplier to use for the next backoff duration
pub base: f64,
}