Skip to content
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

Flaky multiple HTTP/2 connection tests read full request body #40844

Conversation

alnikola
Copy link
Contributor

There are 2 flaky HTTP/2 tests verifying multiple connections feature which are randomly failing on CI, but not locally.

  • Http2_MultipleConnectionsEnabled_ConnectionLimitNotReached_ConcurrentRequestsSuccessfullyHandled
  • Http2_MultipleConnectionsEnabled_IdleConnectionTimeoutExpired_ConnectionRemovedAndNewCreated

It seems the failure is caused by not reading the request body. In current implementation, Http2LoopbackServer read only HEADERS frame via ReadRequestHeaderAsync and then immediately sends response. However, the client firstly completely sends headers and body and only then starting reading a response. Thus, it seems to get blocked sometimes if the server didn't read the full body. This PR fixes this by calling ReadAndParseRequestHeaderAsync instead of ReadRequestHeaderAsync.

Fixes #40436
Fixes #40115

@alnikola alnikola added this to the 5.0.0 milestone Aug 14, 2020
@alnikola alnikola requested a review from a team August 14, 2020 17:13
@ghost
Copy link

ghost commented Aug 14, 2020

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

@alnikola alnikola merged commit 056f728 into dotnet:master Aug 14, 2020
@alnikola alnikola deleted the alnikola/read-req-body-on-flaky-multi-http2-conns-tests branch August 14, 2020 19:13
@ghost ghost locked as resolved and limited conversation to collaborators Dec 7, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
2 participants