[*.retries] Sub-SectionThis sub-section can be added to:
It is entirely optional, but some fields may be required in some use-cases.
[!NOTE] The default retry policy is: up to 3 attempts, with exponential-backoff delays between them, starting from 1 second (±10% jitter).
[!IMPORTANT]
PATCHandPOSTrequests do not have a default retry policy, they require an explicit configuration of retries, if desired. This is because these HTTP methods are not guaranteed to be stateless or idempotent, so retrying them by default could lead to data corruption or duplication or other undesirable side effects.
type - which retry strategy to use when sending requests
"backoff""disabled" or "none" (no retries)"backoff" (exponential backoff)"static" (constant interval)max_attempts - maximum number of request attempts (original + retries)
type ≠ "disabled"31 and 101 means a single attempt without retries, effectively the same as type = "disabled"n (where n > 1) means 1 initial attempt followed by up to n-1 retriesinterval - initial wait period between attempts
type ≠ "disabled""1s" (1 second)"1ms" (1 millisecond) and "1m" (1 minute)s (seconds), and ms (milliseconds)type = "backoff", a jitter of ±10% is applied to each delay interval,max_interval ≤ interval, which effectively forces type = "static"max_interval - when the backoff interval exceeds this (it’s multiplied by 2 on every iteration), reset it back to the initial interval
type = "backoff""20s"interval value is and "5m"s (seconds), and ms (milliseconds)max_interval ≤ interval then max_interval is normalized to interval, which effectively forces type = "static"