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

[release/6.0] [HTTP] Scavenge fix #62008

Merged
merged 3 commits into from
Dec 15, 2021
Merged

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Nov 24, 2021

Backport of #61530 to release/6.0

/cc @ManickaP

Fixes #61505
Fixes #61506

Customer Impact

The issue was reported by a customer. In case the pool scavenging job would take longer than the interval in which the timer is triggered we would just start another one in parallel. The client app is a crawler visiting millions of different URLs and that's why they have so many different pools in the manager and why the scavenging job might take a while to finish.

Having multiple scavenging jobs run in parallel is unwanted (#61505). So with this change we restart the job only after the current run has finished. We also kick off connection disposal asynchronously to not to block the scavenging on actual SslStream/NetworkStream closing (#61506).

Testing

I've provided private binaries to the customer which confirmed (via manually collected dump after 50 mins run) that the fix helped.

Risk

Low to Medium.
It's unfeasible to have test coverage for crawler-like (millions of different URIs) scenarios that triggered the issues so we don't have our own test coverage, only validation from the customer.

@ghost
Copy link

ghost commented Nov 24, 2021

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #61530 to release/6.0

/cc @ManickaP

Customer Impact

Testing

Risk

Author: github-actions[bot]
Assignees: -
Labels:

area-System.Net.Http

Milestone: -

@ManickaP ManickaP requested review from karelz, geoffkizer and a team November 24, 2021 10:28
@karelz karelz added this to the 6.0.x milestone Nov 30, 2021
@karelz karelz added the Servicing-consider Issue for next servicing release review label Nov 30, 2021
@danmoseley danmoseley changed the title [release/6.0] [HTTP] Scavange fix [release/6.0] [HTTP] Scavenge fix Dec 2, 2021
@Pilchie Pilchie added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Dec 2, 2021
@Pilchie Pilchie modified the milestones: 6.0.x, 6.0.2 Dec 2, 2021
@safern safern merged commit 5d465ac into release/6.0 Dec 15, 2021
@safern safern deleted the backport/pr-61530-to-release/6.0 branch December 15, 2021 18:39
@ghost ghost locked as resolved and limited conversation to collaborators Jan 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net.Http Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants