-
Notifications
You must be signed in to change notification settings - Fork 842
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
Make cancelation configurable #319
Comments
@scalablecory, @alnikola - why does the 30s timeout seem familiar for something baked into the networking stack? |
Yes! :). We recently implemented configurability at the Cluster level by adding a top level property |
Related: When retries are implemented, it will be important to further distinguish timeout per attempt, and global timeout for all attempts. Additional reading: Timeouts in Envoy, per_try_timeout |
Doesn't ring any bells to me. Could you be thinking of the ~60 second Socket.Connect() timeout in Windows? |
Per-route would be ideal for our use cases, but per-cluster would be sufficient. |
Could we start with the global timeout and potentially do the others later on? The static 30 is causing constant issues for us, especially on first request when the app behind the proxy is spinning up. |
@NickCraver How about I start by bumping it to 100s to match HttpClient's traditional default? |
@Tratcher that would definitely help - practically speaking we wouldn't need to adjust it for the 95% case after that. Until we can configure it, that'd be a very welcomed change! /cc @deanward81 |
@NickCraver ok, I'll tweak it in #406 for preview5 since I'm about to mess with timeouts anyways. |
Fixed in #512 |
[Re-filing as I screwed up and converted to a discussion when I did it in the wrong tab. Originally #293]
Offline feedback from the StackOverflow team.
Two cancellation tokens are used when proxying requests, a short one and a long one.
reverse-proxy/src/ReverseProxy/Middleware/ProxyInvokerMiddleware.cs
Lines 76 to 87 in a3b5e1b
The short token defaults to a 30 second timeout and is not currently configurable. This tracks the amount of time the destination has to respond with headers (not body). It's also linked to the long token.
The long token is actually the HttpContext.RequestAborted token. It's used to track the response body. This tells the destination to abort if the client disconnects.
The text was updated successfully, but these errors were encountered: