-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
HTTP/3: Test abort at end of request #43183
Conversation
{ | ||
await host.StartAsync().DefaultTimeout(); | ||
|
||
for (var i = 0; i < 1000; i++) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How long does this test take? I don't think tests that run on every CI run and every developer's machines are the right place to do stress testing.
Even if this only takes a second, the road to a long-running test suite are tests like these that are needlessly repetitive. I brought all of Kestrel's 1000s of tests down from many minutes to under 30 seconds when I first moved most of them in memory. That's also why most of our timeout tests use a fake clock and ticks.
We should get this running on dedicated stress infrastructure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It takes 1.3 seconds.
I lowered requests to 100, and it takes 0.16s.
547b197
to
d79ee75
Compare
// Note that there is a race here on what is sent before the abort is processed. | ||
// Abort may happen before or after response headers have been sent. | ||
Logger.LogInformation("Server aborting."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to wait until the response is received before aborting? Or are intentionally covering both cases here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's intentional. There are other tests that wait for the response.
Addresses dotnet/runtime#72619