As always thanks a lot for the investigation and forthcoming fix. Let me know when I can help!

Am 07.03.24 um 16:55 schrieb Mark Thomas:
On 02/03/2024 05:58, Rainer Jung wrote:
Hi there,

for a long time I get sporadic failures in org.apache.coyote.http2.TestRfc9218. It happens for all branches of TC, for NIO and NIO2 and with JSSE and tcnative. Tested platforms Linux and Solaris see this. And JVM versions 1.8.0, 11, 17 and 21 show it. It is also not restricted to a specific JDK vendor.

Rainer,

Thanks for raising this. I have worked out what the root cause is. Esentially, it is a timing issue.

When stream 17 does its write, it writes 1k of the 8k response. Before it tries to write the remaining 7k, streams 19 and/or 21 attempt to write 8k, the connection window is extended by a further 1k and that 1k is allocated to stream 19 or 21 depending on which streams have attempted to write the 8k body by then.

I have a fix in mind which involves adding stream 17 to the backlog as soon as it attempts to write more than the connection window will allow. I need to do some more work on this as I am seeing some test failures with my first attempt at a pacth.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to