-
Notifications
You must be signed in to change notification settings - Fork 353
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
retry filter #1473
Comments
Seems to be related to #674 |
There is also hashicorp, but they will do a blocking read the body: |
Maybe http.Transport can already do this for us if we add idempotent header:
Cite is the last section of https://pkg.go.dev/net/http#Transport |
We are running a Node.js application with very uneven complexity of requests, and I have been wondering if a retry-pattern from Skipper as ingress could help us to solve cases where one or few pods are overloaded and would fail fast, but still allow delivering a successful response to the clients. For example
|
@oporkka I expect that you need http body, right? |
Yes, I would need this for POST requests, which I know that would be idempotent failures (short-circuit). I wonder if this should be steered by a response header, in order to distinguish from other 503 cases which might not be idempotent. |
@oporkka I think if we implement the decision as filter then I don't mind that it always retries also POST requests. I think in general if POST is to be retried or not should be done by creating the routes (ORing by Method("POST") or not). |
This looks great to use, maybe as filter https://github.com/sethvargo/go-retry
Needs to check what if we have non idempotent requests like POST requests, but in general as opt-in feature could be done.
The text was updated successfully, but these errors were encountered: