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