Skip to content

Conversation

@ManickaP
Copy link
Member

When a new QuicConnection is being established for HTTP/3 and it fails, we block the remote authority and remember why. Any further attempt to connect to that authority gets failed with that reason for a while.
We shouldn't do that if the failure is because we decided to stop the attempt, i.e. we (timeout) or user cancelled the passed in token.

Discovered in stress test as they randomly cancel requests.

Fixes #87957

@ghost ghost added the area-System.Net.Http label Jun 23, 2023
@ghost ghost assigned ManickaP Jun 23, 2023
@ghost
Copy link

ghost commented Jun 23, 2023

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

Issue Details

When a new QuicConnection is being established for HTTP/3 and it fails, we block the remote authority and remember why. Any further attempt to connect to that authority gets failed with that reason for a while.
We shouldn't do that if the failure is because we decided to stop the attempt, i.e. we (timeout) or user cancelled the passed in token.

Discovered in stress test as they randomly cancel requests.

Fixes #87957

Author: ManickaP
Assignees: -
Labels:

area-System.Net.Http

Milestone: -

@ManickaP ManickaP requested review from a team, antonfirsov and wfurt June 23, 2023 15:58
@ManickaP
Copy link
Member Author

/azp run runtime-libraries stress-http

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

@CarnaViire CarnaViire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@ManickaP
Copy link
Member Author

/azp run runtime-libraries stress-http

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ManickaP
Copy link
Member Author

/azp run runtime-libraries stress-http

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

@wfurt wfurt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ManickaP
Copy link
Member Author

Stress is green.

@ManickaP ManickaP merged commit d638e1e into dotnet:main Jun 26, 2023
@ManickaP ManickaP deleted the mapichov/http3-fix-oce branch June 26, 2023 11:47
@karelz karelz added this to the 8.0.0 milestone Jul 3, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Aug 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[HttpStress] massive cancellation errors in HTTP/3

6 participants