Skip to content

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

Merged
safern merged 3 commits into
release/6.0from
backport/pr-61530-to-release/6.0
Dec 15, 2021
Merged

[release/6.0] [HTTP] Scavenge fix#62008
safern merged 3 commits into
release/6.0from
backport/pr-61530-to-release/6.0

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Nov 24, 2021

Copy link
Copy Markdown
Contributor

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
Copy Markdown

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 a team, geoffkizer and karelzNovember 24, 2021 10:28
@karelzkarelz added this to the 6.0.x milestone Nov 30, 2021
@karelzkarelz added the Servicing-consider Issue for next servicing release review label Nov 30, 2021
@danmoseleydanmoseley changed the title [release/6.0] [HTTP] Scavange fix[release/6.0] [HTTP] Scavenge fixDec 2, 2021
@PilchiePilchie added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Dec 2, 2021
@PilchiePilchie modified the milestones: 6.0.x, 6.0.2Dec 2, 2021
@safern
safern merged commit 5d465ac into release/6.0Dec 15, 2021
@safern
safern deleted the backport/pr-61530-to-release/6.0 branch December 15, 2021 18:39
@ghostghost locked as resolved and limited conversation to collaborators Jan 14, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Net.HttpServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@karelz@geoffkizer@Pilchie@safern@ManickaP