Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend retryablehttp limits in SDK base client #945

Merged
merged 1 commit into from
Mar 27, 2024

Commits on Mar 26, 2024

  1. Extend retryablehttp limits in SDK base client

    Explicitly set three fields in the `retryablehttp.Client` struct.
    
    `RetryWaitMin` is the shortest wait time before attempting to retry the
    request, and is the same as the default, but set explicitly here for
    clarity.
    
    `RetryWaitMax` is the longest wait time before attempting to retry the
    request. The default is 30 seconds, we extend this to 61 second in
    consideration of potential API throttling for especially long-lasting
    eventual consistency issues.
    
    `RetryMax` is the maximum number of retries for a given API request, and
    is given the most consideration here. The default is 4, which is far too
    little for our purposes. Here, we set it to 16, which in conjunction
    with the above two field values, and when implemented using an
    exponential backoff algorithm, should take approximately 10 minutes to
    exhaust.
    
    However, in consideration of _really_ long lasting retries, we inspect
    the context and increase this if it looks like the retries will be
    exhausted before the context deadlines. The goal is to try and deadline
    the context just before the retries are exhausted.
    
    For compatibility, since we don't strictly require a deadline to execute
    a request, we don't require one here.
    manicminer committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    bee96b6 View commit details
    Browse the repository at this point in the history