Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Oct 11, 2021

Backport of #37432 to release/6.0

/cc @JamesNK

Customer Impact

An unexpected HTTP/3 connection error could put Kestrel into a retry loop. HTTP/3 connections will stay open forever, throwing errors and consuming CPU. An example of an unexpected error is being fixed in runtime dotnet/runtime#60244.

This PR adds an additional safeguard to Kestrel so that a connection will be aborted if there is an unexpected error. This ensures the connection immediately exits instead of going into a retry loop.

Testing

Manual testing. Confirmed that a HTTP/3 connection is aborted when there is an unexpected exception.

image

Risk

Low. The new logic is only for HTTP/3, and is only executed when there is an HTTP/3 connection error.

@ghost ghost added the area-runtime label Oct 11, 2021
@JamesNK JamesNK added the Servicing-consider Shiproom approval is required for the issue label Oct 11, 2021
@ghost
Copy link

ghost commented Oct 11, 2021

Hi @github-actions[bot]. Please make sure you've updated the PR description to use the Shiproom Template. Also, make sure this PR is not marked as a draft and is ready-to-merge.

To learn more about how to prepare a servicing PR click here.

@JamesNK JamesNK added this to the 6.0.0 milestone Oct 11, 2021
@adityamandaleeka adityamandaleeka added the Servicing-approved Shiproom has approved the issue label Oct 11, 2021
@ghost ghost removed the Servicing-consider Shiproom approval is required for the issue label Oct 11, 2021
@adityamandaleeka
Copy link
Member

@dougbu This has tactics approval.

@dougbu
Copy link
Contributor

dougbu commented Oct 11, 2021

@dougbu This has tactics approval.

Even better, it's "righteous"😃

@dougbu dougbu merged commit ef2d247 into release/6.0 Oct 11, 2021
@dougbu dougbu deleted the backport/pr-37432-to-release/6.0 branch October 11, 2021 23:08
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Jun 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions Servicing-approved Shiproom has approved the issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants