Skip to content
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

proxy: Prevent unavailable services from leaking resources #3818

Closed
olix0r opened this issue Dec 11, 2019 · 3 comments
Closed

proxy: Prevent unavailable services from leaking resources #3818

olix0r opened this issue Dec 11, 2019 · 3 comments
Assignees
Labels

Comments

@olix0r
Copy link
Member

olix0r commented Dec 11, 2019

Typically, idle services are evicted from the proxy (after ~60s without new requests). However, if the service is not available (i.e. because there are no endpoints in the service), then buffers for this service can stop processing requests and fill up. Even though requests are canceled, buffer space is never created and the buffer's worker can never detect that the send-side of the buffer has been dropped. This results in a resource leak including metrics and discovery resolutions.

In order to address this situation, I believe that we should modify the buffering strategy to support cancelation such that the buffer's worker can properly detect the situation when its caller has been dropped and all of its requests have been canceled; and I think this means that we need to replace the tower::buffer layer with an implementation that supports cancelation natively.

@olix0r olix0r added area/proxy priority/P0 Release Blocker labels Dec 11, 2019
@olix0r olix0r self-assigned this Dec 11, 2019
@olix0r
Copy link
Member Author

olix0r commented Dec 17, 2019

linkerd/linkerd2-proxy#401 ensures service discovery resolutions are dropped when the resolution buffer is full for 60s, indicating the balancer hasn't been polled.

@stale
Copy link

stale bot commented Mar 16, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Mar 16, 2020
@olix0r
Copy link
Member Author

olix0r commented Mar 17, 2020

This has been addressed by linkerd/linkerd2-proxy#456

@stale stale bot removed the wontfix label Mar 17, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 17, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants