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
[Feature]: Retry on HTTP2 GOAWAY frames #283
Comments
jriddle-linode
added a commit
that referenced
this issue
Dec 22, 2022
## 📝 Description **What does this PR do and why is this change necessary?** whenever resty receives a goaway frame retry. ## ✔️ How to Test **What are the steps to reproduce the issue or verify the changes?** `make ARGS='-run TestClient_GoAwayRetry' fixtures` resolves #283 Co-authored-by: Lena Garber <lgarber@akamai.com>
lgarber-akamai
added a commit
to lgarber-akamai/linodego
that referenced
this issue
Feb 13, 2023
## 📝 Description **What does this PR do and why is this change necessary?** whenever resty receives a goaway frame retry. ## ✔️ How to Test **What are the steps to reproduce the issue or verify the changes?** `make ARGS='-run TestClient_GoAwayRetry' fixtures` resolves linode#283 Co-authored-by: Lena Garber <lgarber@akamai.com>
lgarber-akamai
added a commit
to lgarber-akamai/linodego
that referenced
this issue
Feb 13, 2023
## 📝 Description **What does this PR do and why is this change necessary?** whenever resty receives a goaway frame retry. ## ✔️ How to Test **What are the steps to reproduce the issue or verify the changes?** `make ARGS='-run TestClient_GoAwayRetry' fixtures` resolves linode#283 Co-authored-by: Lena Garber <lgarber@akamai.com>
lgarber-akamai
added a commit
to lgarber-akamai/linodego
that referenced
this issue
Feb 13, 2023
## 📝 Description **What does this PR do and why is this change necessary?** whenever resty receives a goaway frame retry. ## ✔️ How to Test **What are the steps to reproduce the issue or verify the changes?** `make ARGS='-run TestClient_GoAwayRetry' fixtures` resolves linode#283 Co-authored-by: Lena Garber <lgarber@akamai.com>
lgarber-akamai
added a commit
to lgarber-akamai/linodego
that referenced
this issue
Feb 14, 2023
## 📝 Description **What does this PR do and why is this change necessary?** whenever resty receives a goaway frame retry. ## ✔️ How to Test **What are the steps to reproduce the issue or verify the changes?** `make ARGS='-run TestClient_GoAwayRetry' fixtures` resolves linode#283 Co-authored-by: Lena Garber <lgarber@akamai.com>
lgarber-akamai
added a commit
that referenced
this issue
Feb 14, 2023
## 📝 Description **What does this PR do and why is this change necessary?** whenever resty receives a goaway frame retry. ## ✔️ How to Test **What are the steps to reproduce the issue or verify the changes?** `make ARGS='-run TestClient_GoAwayRetry' fixtures` resolves #283 Co-authored-by: Lena Garber <lgarber@akamai.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
Occasionally, we'll see errors like this when using Linode-based service discovery in Prometheus:
What happens is that the connection to api.linode.com gets reset because we hit the maximum number of requests for a persistent connection (e.g. nginx defaults to 1000) and the connection is closed by the server after it sends a GOAWAY. We should be able to safely retry these by opening a new connection.
There's likely more nuance to it, though. As I believe you need to validate the accompanying error with the GOAWAY frame and check on the last stream ID rather than just naively retrying every time.
Some helpful resources I've found are:
Example Code
The text was updated successfully, but these errors were encountered: