-
Notifications
You must be signed in to change notification settings - Fork 10k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Still send 100 Continue given null MinRequestBodyDataRate #31284
Conversation
Hello human! Please make sure you've included the Shiproom Template in a comment or (preferably) the PR description. Also, make sure this PR is not marked as a draft and is ready-to-merge. |
@halter73 / @davidfowl can one of you fill out the Ask Mode template so we can talk about this at Tactics today? |
@Pilchie I've updated the description. |
Thanks - we missed Tactics this morning, but we'll talk about it on Tuesday. |
@halter73 any chance we get get the internal customer to verify the fix with a private before we merge, or at least before we ship? Also, do we need a port of this to 5.0? |
Description
This fixes a bug in Kestrel where a non-default configuration
MinRequestBodyDataRate = null
causes Kestrel not to send a "100 Continue" response given a "Expect: 100-continue" request header.Customer impact
This was found (and eventually debugged) by an internal customer.
And it was also reported externally: #21502.
This shows up as a performance regression rather than failed request because clients will eventually start uploading the request body without a "100 Continue" response from Kestrel, but it will wait for a timeout causing increased latency.
Not all clients use "Expect: 100-continue" request header, but older .NET Framework clients do.
Regresssion
Yes. This was a regression introduced in 3.0.
Risk
Low. MinRequestBodyDataRate should have never had any impact on whether or not Kestrel sends a "100 Continue" response.
Fixes #30449