-
Notifications
You must be signed in to change notification settings - Fork 7.9k
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 not Retrying #51762
Comments
I wonder if this is because we're removing I'l try removing that and seeing if it helps. |
I'm wondering if it's the type of error, the error here is a I'll try a retryOn reset, to see what happens... |
OK can confirm that changing it to
So that means either:
|
From the envoy docs for retryOn (for 5xx):
So these are connection resets that result in 503s being sent to your application, but the upstream server didn't return a 503. Therefore they aren't retried |
@keithmattix yeah was just having the same conversation with @howardjohn on slack and i agree, it's #2. Bit of a funky one from a users perspective, that ultimately boils down to mapping a "fake" status code (503) from a response that didn't get a status code (reset), and then as a user me just acting on that - most users aren't going to be deep enough in envoy to know that it's making up status codes and you can't retry them! However as John pointed out it has to do that because it can't transmit a 0 to the downstream. Can't think of a way forward here to be honest as all of the options are complex or have tradeoffs! Happy to close it if you agree? |
Yeah this is exactly one of those least bad option scenarios. Thanks for the feedback and info for debugging! Closing |
Probably could document this around https://istio.io/latest/docs/reference/config/networking/virtual-service/#HTTPRetry |
^ think that's a good shout, no harm in calling it out |
Inspired by istio/istio#51762
sent out istio/api#3247 |
* Improve VS retry documentation Inspired by istio/istio#51762 * gen * move
Is this the right place to submit this?
Bug Description
We have the following
VirtualService
which configures aretryOn: 503
However we see requests in Jaeger that aren't be retried:
The response to the app from envoy was:
upstream connect error or disconnect/reset before headers. reset reason: connection termination
.I wasn't sure if this was because retries aren't recorded as spans, so I enabled envoy metrics for retries, which confirm that no retry was attempted:
(note: i've raised a separate issue because the cluster_name here is not being built correctly in my opinion. However i'm linking it from here because i'm wondering if it's another symptom of the tls origination setup).
Version
Additional Information
No response
The text was updated successfully, but these errors were encountered: