Hello Tomcat users.
I’m facing some issues with HTTP/2 and I hope you can help me. Thanks in advance! I'm running Tomcat 10.1.31 on Debian 12 with JVM Version 17.0.13+11-Debian-2deb12u1. My web application runs smoothly on HTTP/1.x but, when enabling HTTP/2, we randomly start getting CLOSED_RST_RX errors on the log, causing the application to become unstable. Is there some additional configuration that I should be considering, besides the UpgradeProtocol? Here is an extract of the Stack Trace: 14-Nov-2024 18:19:31.134 SEVERE [https-jsse-nio-8443-exec-6] org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse An I/O error has occurred while writing a response message entity to the container output stream. org.glassfish.jersey.server.internal.process.MappableException: org.apache.catalina.connector.ClientAbortException: org.apache.coyote.CloseNowException: Connection [b], Stream [7], This stream is in state [CLOSED_RST_RX] and is not writable at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:67) at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:139) at org.glassfish.jersey.message.internal.MessageBodyFactory.writeTo(MessageBodyFactory.java:1116) (…) Caused by: org.apache.catalina.connector.ClientAbortException: org.apache.coyote.CloseNowException: Connection [b], Stream [7], This stream is in state [CLOSED_RST_RX] and is not writable at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:303) at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:265) (…) Caused by: org.apache.coyote.CloseNowException: Connection [b], Stream [7], This stream is in state [CLOSED_RST_RX] and is not writable at org.apache.coyote.http2.Stream.doStreamCancel(Stream.java:304) at org.apache.coyote.http2.Http2UpgradeHandler.reserveWindowSize(Http2UpgradeHandler.java:946) at org.apache.coyote.http2.Stream$StreamOutputBuffer.flush(Stream.java:1120) at org.apache.coyote.http2.Stream$StreamOutputBuffer.flush(Stream.java:1064) at org.apache.coyote.http2.Stream$StreamOutputBuffer.flush(Stream.java:1191) at org.apache.coyote.http11.filters.GzipOutputFilter.flush(GzipOutputFilter.java:107) at org.apache.coyote.http2.Http2OutputBuffer.flush(Http2OutputBuffer.java:75) at org.apache.coyote.http2.StreamProcessor.flush(StreamProcessor.java:295) at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:408) at org.apache.coyote.Response.action(Response.java:208) at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:299) ... 85 more Caused by: org.apache.coyote.http2.StreamException: Connection [b], Stream [7], This stream is in state [CLOSED_RST_RX] and is not writable at org.apache.coyote.http2.Stream.doStreamCancel(Stream.java:296) ... 95 more Thanks! Eduardo