Skip to content

Try to improve HttpConnectionPool lock contention - #62794

Closed
geoffkizer wants to merge 2 commits into
dotnet:mainfrom
geoffkizer:poollockcontention
Closed

Try to improve HttpConnectionPool lock contention#62794
geoffkizer wants to merge 2 commits into
dotnet:mainfrom
geoffkizer:poollockcontention

Conversation

@geoffkizer

Copy link
Copy Markdown
Contributor

Two related changes:

(1) Avoid doing any logging logic under the lock
(2) Avoid calling TrySetResult on the waiter under the lock -- instead, do this outside the lock and retry as necessary for canceled requests

This PR is in progress and only addresses HTTP/1.1 at the moment.

@geoffkizergeoffkizer added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Dec 14, 2021
@ghostghost assigned geoffkizerDec 14, 2021
@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

Two related changes:

(1) Avoid doing any logging logic under the lock
(2) Avoid calling TrySetResult on the waiter under the lock -- instead, do this outside the lock and retry as necessary for canceled requests

This PR is in progress and only addresses HTTP/1.1 at the moment.

Author:geoffkizer
Assignees:geoffkizer
Labels:

* NO MERGE *, area-System.Net.Http

Milestone:-

@geoffkizer

Copy link
Copy Markdown
ContributorAuthor

Replaced by #62935

@karelzkarelz added this to the 7.0.0 milestone Jan 11, 2022
@ghostghost locked as resolved and limited conversation to collaborators Feb 10, 2022
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Net.HttpNO-MERGEThe PR is not ready for merge yet (see discussion for detailed reasons)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@geoffkizer@karelz