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

Prevent process pruning while capturing dump. #1059

Merged

Conversation

jander-msft
Copy link
Member

This works around an issue where the pruning algorithm in the server endpoint info source will likely prune processes that have active dump operations. Having the runtime produce a dump typically has the runtime stall and not respond to diagnostic pipe commands. Since the pruning algorithm uses the diagnostic pipe to test if the target runtime is still responsive, it will consider these processes as unresponsive and remove them. This has the downstream effect of making it impossible to detect the process in the HTTP API while the dump is in progress, stops collection rules when pruned, and restarts collection rules when the runtime instance reconnects to the listening service.

This change mitigates the situation such that the pruning algorithm will not attempt to prune any process that is undergoing a dump operation. Long term, this logic should be merged with RequestLimitTracker with endpoint registration and the ability to query operation status for a given endpoint and operation type.

closes #1053

@jander-msft jander-msft requested a review from a team as a code owner October 22, 2021 04:00
@jander-msft jander-msft merged commit 936a6fb into dotnet:release/6.0 Oct 26, 2021
@jander-msft jander-msft deleted the dev/jander/no-prune-during-dump branch October 26, 2021 05:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants