Do not directly abort connection on GOAWAY#39036
Conversation
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http2.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http2.cs
Outdated
Show resolved
Hide resolved
stephentoub
left a comment
There was a problem hiding this comment.
Some minor comments, but otherwise LGTM. @geoffkizer should review, too, though.
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
src/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.Http2.cs
Outdated
Show resolved
Hide resolved
|
BTW, this should also (hopefully) fix some related issues with GOAWAY. Since we are currently disposing when we receive GOAWAY, we disallow any frames from being sent after GOAWAY is received. This affect PING per #38558, but it also affects a whole bunch of other cases as well, such as: (1) A request body may still be in flight, and as long as the GOAWAY last stream id indicates it's valid, we need to continue to send it It would be nice to have tests for at least some of this, but it's not necessary as part of this PR. |
src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http2Connection.cs
Outdated
Show resolved
Hide resolved
|
@geoffkizer I've updated https://github.com/dotnet/corefx/issues/34638 to include your feedback: Please let me know if there is anything else I should address here or if we can merge this |
|
I'm happy, thanks. |
* Do not directly abort connection on GOAWAY * Address feedback and add disabled GOAWAY tests * remove redundant frame ignoring logic Commit migrated from dotnet/corefx@cc6435b
Fixes: https://github.com/dotnet/corefx/issues/39014
Fixes: https://github.com/dotnet/corefx/issues/38558
Contributes to: https://github.com/dotnet/corefx/issues/39013