-
Notifications
You must be signed in to change notification settings - Fork 3.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
BufferingHttp2ConnectionEncoder does not shutdown properly on channelInactive #605
Comments
@louiscryan I've already been working on a fix for this. See #590 |
nmittler
pushed a commit
to nmittler/netty
that referenced
this issue
Jul 8, 2015
Motivation: The problem is described in grpc/grpc-java#605. Basically, when using `StreamBufferingEncoder` there is a chance of creating zombie streams that never get closed. Modifications: Change `Http2ConnectionHandler`'s `channelInactive` handling logic to shutdown the encoder/decoder before shutting down the active streams. Result: Fixes grpc/grpc-java#605
This was referenced Jul 8, 2015
nmittler
pushed a commit
to netty/netty
that referenced
this issue
Jul 9, 2015
Motivation: The problem is described in grpc/grpc-java#605. Basically, when using `StreamBufferingEncoder` there is a chance of creating zombie streams that never get closed. Modifications: Change `Http2ConnectionHandler`'s `channelInactive` handling logic to shutdown the encoder/decoder before shutting down the active streams. Result: Fixes grpc/grpc-java#605
NOTE: this has been fixed in Netty. We'll get the fix when we upgrade to Netty 4.1.beta6 (as soon as it is released). @normanmaurer any thoughts on timeline for beta6? |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
@nmittler
There is a nasty race condition during the handling of channelInactive in NettyClientHandler which goes a bit like this....
This reproduces for NettyClientTransportTest.bufferedStreamsShouldBeClosedWhenTransportTerminates with 5.0beta5.
Having streams being created as a side-effect of channel inactivation is undesirable. Potential fixes include
The text was updated successfully, but these errors were encountered: