-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[Stress] Enable POST by disabling InternalServerError suppression #58110
Conversation
Enable HTTP/2 POST stress tests because, the Kestrel's issue with an incorrect HTTP/2 stream resetting seems to be fixed by dotnet/aspnetcore#34768. Fixes #55261
Tagging subscribers to this area: @dotnet/ncl Issue DetailsEnable HTTP/2 POST stress tests because, the Kestrel's issue with an incorrect HTTP/2 stream resetting seems to be fixed by dotnet/aspnetcore#34768. Fixes #55261
|
src/libraries/System.Net.Http/tests/StressTests/HttpStress/ClientOperations.cs
Show resolved
Hide resolved
Don't we need to wait for the next aspnetcore preview for the fix to propagate? /cc @ManickaP |
/azp list |
/azp run runtime-libraries stress-http |
Azure Pipelines successfully started running 1 pipeline(s). |
We might need to wait. Previous docker update was yesterday, but the ASP.NET Core fix might not be in yet. There is a PR for the next update dotnet/dotnet-docker#3073 but we also need to check whether SDK version is new enough. |
Hmm RC1 PR is not in yet dotnet/aspnetcore#35676 - I think docker uses pre-installed RC1 now... in today's stress run the version is |
Got it. I'll wait and the re-run the stress pipeline. |
/azp run runtime-libraries stress-http |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-libraries stress-http |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run runtime-libraries stress-http |
Azure Pipelines successfully started running 1 pipeline(s). |
All HTTP/2 stress tests are green now. The fix is working. Please, do the final review and approve. cc: @karelz |
It's still there in HTTP/3 the same error. ~20 000 occurrences of:
|
@ManickaP Are you sure it's the same root cause? InternalServerError is just a generic 500 status, the reason can be completely different. |
I assume the problem will be different in Kestrel for H/3. We will likely need to keep the test disabled -- but hopefully only for H/3 and not for H/2. |
I can add a protocol version check here, so the exception will be suppressed for H/3, but enabled for H/2. |
We should keep either the original issue open or create a new one for H/3 and leave [ActiveIssue(...)] in the code.
Perfect! |
Note that nothing was disabled per se, we just ignored certain type of errors because we knew that they're cause by a Kestrel bug. |
{ | ||
throw new Exception("IGNORE"); | ||
} | ||
|
||
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.
Nit: whitespaces:
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 done already :)
#58110 (comment) vs ae8564d: telepathy alert! |
/azp run runtime-libraries stress-http |
Azure Pipelines successfully started running 1 pipeline(s). |
@@ -209,6 +209,11 @@ async Task RunWorker(int taskNum) | |||
{ | |||
_aggregator.RecordCancellation(opIndex, stopwatch.Elapsed); | |||
} | |||
catch (Exception e) when (e.Message == "IGNORE") |
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.
Don't we need version check here as well?
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.
I believe - no, because this is a special exception thrown manually to suppress some errors. The throwing side does a version check, so it's redundant here.
What is the actual server error for HTTP/3? Let's find that before you open a new issue. |
I'm going to merge it with the link in the comments to the current issue #55261 which we can change it later. |
@Tratcher It's POST ExpectContinue operation and the error is this:
|
@alnikola @antonfirsov maybe we can just EDIT: I might do that in a separate PR if you want to get this in. |
LOL, that's embarrassing... I filed dotnet/aspnetcore#35974 to implement 100-Continue. You'll need to skip that scenario until it's ready. |
I put up a PR #58442 I removes the checks completely, making this one obsolete. |
Original issue closed in #58442. We don't need the HTTP version check anymore. |
Enable HTTP/2 POST stress tests because, the Kestrel's issue with an incorrect HTTP/2 stream resetting seems to be fixed by dotnet/aspnetcore#34768.
Contributes to #55261