-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
expose timeout and retries configurations to users in Route #2201
Comments
For timeout, ideally we want to have timeout per revision. However, because of the limitation of Istio/envoy, currently we are not able to exactly achieve this. I have a pending (old) PR about using a workaround for setting revision timeout. I did not keep pushing it since I did not get a chance to investigate what is the right way to do an API change. We could restart this work based on the current ClusterIngress infrastructure. |
@jonjohnsonjr can advise about the current guideline on API versioning. |
@k4leung4 is going to pick up the per-Revision |
It seems that configuring Timeout based on destination is still not feasible in Envoy (https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#route-routeaction) so it is very unlikely that we can get this working at the Ingress for any of our KIngress implementation (they're all Envoy-based). |
I thought we removed retries? |
I have a half-done PR for this in progress... |
@tcnghia |
Is Envoy's timeout a time-to-first-byte timeout? Will it keep Websocket connections intact forever? Our current timeout handling allows for that. |
The docs say "Timeout for HTTP requests.", and don't specify behavior further. I would guess that this ends up being a 504 error, which is what I'm seeing in some of the broken integration tests, which is documented here: If you don't specify v1.Revision.Spec.TimeoutSeconds, this shouldn't change the behavior. |
I'd appreciate suggestions where and how to make changes to the documentation, samples, and end-to-end/integration tests for this feature. |
For docs: https://github.com/knative/docs/tree/master/docs/serving. Networking doesn't seem to have its own directory now, but rather assortment of files (cc @tcnghia ) For e2e, given it's a CM change there are two ways:
Finally, if we're going to permit this feature on a revision basis, then it's much easier, wherein you just create the revision with desired properties and then run standard test (note that if we're doing per-revision settings, then passing explicit timeout is more useful than passing around CM as currently done). |
This issue is stale because it has been open for 90 days with no |
Expected Behavior
Users can config timeout and retry policy for HTTP requests in route resources.
Actual Behavior
The config items are not exposed to end users.
As both newly introduced ClusterIngress and underlying VirtualService resources support timeout and retry configuration, I think it reasonable to expose them to end users.
/cc @tcnghia for thoughts
/assign
The text was updated successfully, but these errors were encountered: