Make sure we always flush window update frames in AbstractHttp2StreamChannel#10075
Conversation
|
Can one of the admins verify this patch? |
There was a problem hiding this comment.
This change isn't strictly necessary for this patch but I spent a fair amount of time trying to read through this for the nth time and decided to clean it up so the control flow (when the method returns etc, not H2 flow control) is more readable. If desired, we can move it to a different patch.
|
@netty-bot test this please |
normanmaurer
left a comment
There was a problem hiding this comment.
just a nit but generally speaking LGTM. Great catch!
|
@normanmaurer, presuming this gets accepted, what are the odds we could get a release relatively soon? I know this just missed the 4.1.46 release but this is a show stopper for us and looks to affect both clients and servers using the |
|
I think a release could be done within a week or so :) |
9232b9a to
eed3847
Compare
sskrobotov
left a comment
There was a problem hiding this comment.
Thank you for the patch! Coincidentally, just a few days back we've also discovered that we're affected by this issue.
|
@netty-bot test this please |
…Channel Motivation: Under certain read patters the AbstractHttp2StreamChannel can fail to flush, resulting in flow window starvation. Modifications: - Ensure we flush if we exit the `doBeginRead()` method. - Account for the Http2FrameCodec always synchronously finishing writes of window update frames. Result: Fixes netty#10072
eed3847 to
1e63317
Compare
|
Fixed the order of |
|
@netty-bot test this please |
|
@bryce-anderson thanks a lot! nice work... |
…Channel (#10075) Motivation: Under certain read patters the AbstractHttp2StreamChannel can fail to flush, resulting in flow window starvation. Modifications: - Ensure we flush if we exit the `doBeginRead()` method. - Account for the Http2FrameCodec always synchronously finishing writes of window update frames. Result: Fixes #10072
…Channel (netty#10075) Motivation: Under certain read patters the AbstractHttp2StreamChannel can fail to flush, resulting in flow window starvation. Modifications: - Ensure we flush if we exit the `doBeginRead()` method. - Account for the Http2FrameCodec always synchronously finishing writes of window update frames. Result: Fixes netty#10072
Motivation:
Under certain read patters the AbstractHttp2StreamChannel can fail to
flush, resulting in flow window starvation.
Modifications:
doBeginRead()method.of window update frames.
Result:
Fixes #10072