Skip to content

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Sep 30, 2025

Backport of #63873 to release/10.0

(http2): Lower WINDOWS_UPDATE received on (half)closed stream to stream abortion

Change affects the server HTTP/2 behavior in the case client sends the RST_STREAM frame (moving stream to half-closed or closed state) and then sends another packet - WINDOW_UPDATE. Server behavior varies in this case (RFC HTTP/2 does not describe this case extremely clear) - for example HTTP.SYS does interpet this as a stream-level error (ignore of WINDOW_UPDATE packet); but Kestrel is more strict and sends the GO_AWAY packet closing not only the stream, but also the whole connection.

Such restrictive behavior of Kestrel impacts the client, which observes cancellations and has to re-establish the connection frequently.

Fixes #63726

Customer Impact

1P Customer which processes intensive traffic of another 1P customer with a Golang-based client observes high volume of cancellations. This not only impacts the performance where a new connection has to be established, but also means all streams existing on the connection were lost, resulting in bunch of customers seeing high latency.

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

Small change in behavior making Kestrel less restrictive. Also is being tested by the 1P team.

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

When servicing release/2.3

  • Make necessary changes in eng/PatchConfig.props

@wtgodbe wtgodbe added the Servicing-approved Shiproom has approved the issue label Oct 6, 2025
@wtgodbe wtgodbe merged commit ef21af5 into release/10.0 Oct 7, 2025
28 checks passed
@wtgodbe wtgodbe deleted the backport/pr-63873-to-release/10.0 branch October 7, 2025 17:51
@dotnet-policy-service dotnet-policy-service bot added this to the 10.0.0 milestone Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Servicing-approved Shiproom has approved the issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants