-
Notifications
You must be signed in to change notification settings - Fork 278
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
Configure Godo Retryable HTTP Client #1016
Conversation
I'm curious if we should make this the default behavior (maybe set |
After team discussion, I've made the retryable feature to be on by default with DIGITALOCEAN_HTTP_RETRY_MAX=4. |
This reverts commit d61d02a.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Raising this to the top in case you missed my comment in the thread.
With the changes we've made to godo, we should be able to remove this bit:
client.Transport = &oauth2.Transport{
Base: client.Transport,
Source: oauth2.ReuseTokenSource(nil, tokenSrc),
}
oh yes thank you! Missed this somehow. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 LGTM!
Update terraform-provider to use godo's retryable http client.
When the retryable feature is not set or set to 0 (
DIGITALOCEAN_HTTP_RETRY_MAX=0
) and you reach the 250 req/min threshold- you are met with a 429 error:When the retryable feature is set (
DIGITALOCEAN_HTTP_RETRY_MAX=2
) and you reach the 250 req/min threshold- the client performs automatic retries and exponential backoff and continues:The retryable feature to be on by default, with 4 tries.