-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Handle multiple incoming connection at the beginning of Http3LoopbackConnection use #69453
Conversation
Tagging subscribers to this area: @dotnet/ncl Issue DetailsFixes #69387. This PR makes sure the The Http functional tests were run in a tight loop and the original test failure was not observed.
|
cc: @ManickaP |
Was the problem that not all unidirectional streams were the one and only control stream? |
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.
In general LGTM, but the only question is whether any synchronization needed over _delayedStreams access... can AcceptRequestStreamAsync ever be called concurrently? it feels like it might be...
No, the problem was that client started multiple requests and it happened that two (or more) request streams arrived before the control stream. |
It does not seem that we are accepting multiple requests concurrently in any test. There are other parts of the simple loopback server that were not thread safe before (such as setting the |
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.
Ok. If Http3LoopbackConnection is not thread-safe in general, I'm fine with this.
LGTM. Thanks!
Fixes #69387.
This PR makes sure the
Http3LoopbackConnection
used in tests does not choke on multiple simultaneous requests from a client, when two or more request streams are accepted before the control stream.The Http functional tests were run in a tight loop and the original test failure was not observed.