-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Proposal: Last Call mode for Envoy [AKA graceful drain for drain manager on admin endpoint] #10592
Comments
@auni53 can you make the design doc world commentable? I can't open it. Also, FYI, we already have the "drain manager" concept which already does some of this, so curious how that fits into this proposal. |
Ah, had it org-commentable rather than global-commentable. Hopefully fixed. Understanding the existing draining infrastructure has been a little confusing, different parts of the docs/code refer to draining at different parts of the system. Part of the Last Call mode would be to clarify how the API interacts with things like the drain manager, or potentially making enhancements to it. But that gets into implementation of the Last Call feature requests beyond the existence of the mode itself. |
Thanks @auni53. I left some comments on the doc. Much of the proposal is already implemented either as part of hot restart or as part of |
Thanks Matt, yeah I didn't make that clear, but part of why I wrote the doc was just to clarify what our requirements were because I was having a hard time telling what was or wasn't currently available. Your comments with references to specific mechanisms are really helpful, I'll investigate those and circle back. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions. |
Hey there, was looking at this issue recently to understand how we should do graceful shutdowns in our org. My understanding is that there’s still one missing piece in Envoy, which is described in the doc:
Our situation is running Envoy as a sidecar in each Pod, for service-service communication. Services talk in plain HTTP and tend to keep TCP connections open for a while (http keep alive). @auni53 did you find an alternative solution here for idle TCP connections? I know that Envoy now implements GOAWAY but I’m not sure if we should switch to HTTP2C for service-service comms just for clean shutdowns. Ideally we want to be able to shutdown all idle TCP connections in the earliest phase, while letting the non-idle connections handle their in-flight HTTP requests. @mattklein123 do you know if some of this was already implemented? |
Last Call mode
Description
Design doc
Comment on this doc or on the thread. It should be openly commentable, but let me know if there are permission issues.
Proposed steps
Related issues
The text was updated successfully, but these errors were encountered: