HTTP/2 streams closed due to client window update delay #18674
Labels
in:Transport
release bug
This bug is present in a released version of Open Liberty
release:210011
team:Sirius
Projects
Describe the bug
Liberty's HTTP/2 implementation enforces a non-configurable timeout for pending writes that are waiting for a window update from the client. That is, when a stream cannot write data due to a window size limitation, then the stream will only wait for the timeout period for a window update to arrive from the client - and once that deadline elapses the stream is reset. Currently this timeout is ~8s, which is insufficient for some scenarios - Liberty should wait for at least the configured
writeTimeout
period.open-liberty/dev/com.ibm.ws.transport.http/src/com/ibm/ws/http/channel/h2internal/H2StreamProcessor.java
Lines 112 to 113 in 11e682d
Steps to Reproduce
On a HTTP/2 connection with Liberty, allow the write window for a stream to drop below 0, and don't send a WINDOW_UPDATE for that stream. The stream will get reset by Liberty after ~8s.
Expected behavior
Streams waiting on write window updates should be closed less aggressively by Liberty, and streams should not get closed before the
writeTimeout
period has elapsed.Diagnostic information:
Additional context
n/a
The text was updated successfully, but these errors were encountered: