https://bz.apache.org/bugzilla/show_bug.cgi?id=66842
Bug ID: 66842 Summary: Http2AsyncUpgradeHandler does not update overhead count based on sent frames Product: Tomcat 9 Version: 9.0.76 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Connectors Assignee: dev@tomcat.apache.org Reporter: ajmurphy...@gmail.com Target Milestone: ----- Encountered while testing configurations for https://bz.apache.org/bugzilla/show_bug.cgi?id=66841 <Connector port="8443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" connectionTimeout="20000" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" useAsyncIO="true" > <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/certs/devkeystore" type="RSA"/> </SSLHostConfig> </Connector> Given an application using Spring server sent event emitters to send notifications to logged in users and the application sends heartbeat messages through those SSE emitters to test they are still active. If using a connector config similar to above (HTTP 2 upgrade and useAsyncIO true) then the data frames of the heartbeat message will not reduce the overhead count but the WINDOW_UPDATE frames received in acknowledgement will increase the overhead count. This causes the overhead count to be exceeded within just a few heartbeat cycles. To reproduce: 1. Use NIO2 protocol with Http2Protocol upgrade and useAsyncIO true 2. deploy application with endpoint to create event stream that the application sends messages on continuously from separate thread 3. Access endpoint from browser (I used chrome but assume it occurs with other browsers) 4. wait After each message sent on the event stream a WINDOW_UPDATE frame will be received which increases the overhead count. Without the data frames of the sent messages lowering the overhead count the connection will quickly be closed due to overhead count exceeded. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org