Summary: | HTTP2:WINDOW_UPDATE not sent when receiving http2 requests over unknown url | ||
---|---|---|---|
Product: | Tomcat 9 | Reporter: | Arshiya <arshiya.shariff> |
Component: | Catalina | Assignee: | Tomcat Developers Mailing List <dev> |
Status: | RESOLVED FIXED | ||
Severity: | regression | CC: | arshiyaashariff |
Priority: | P2 | ||
Version: | 9.0.43 | ||
Target Milestone: | ----- | ||
Hardware: | PC | ||
OS: | Linux | ||
Attachments: | PCAP for case where WINDOW_UPDATE is not sent |
Fixed in: - 10.0.x for 10.0.5 onwards - 9.0.x for 9.0.45 onwards - 8.5.x for 8.5.65 onwards Hi Mark, Regarding this fix, we still see an error code 8 and not the expected 404. Is the error code 8 a separate bug? If so, is it logged somewhere I am not finding? We have a jmx file we have been using for testing. I can upload the jmx file either here or to a separate bug as necessary. Is there anything useful that we can provide to help with this? Thanks! Yes, you will see a RST frame for the stream with error code 8 (cancel) to tell the client no to bother sending (any more of) the requets body. The 404 response is sent before the RST frame. *** Bug 65773 has been marked as a duplicate of this bug. *** |
Created attachment 37767 [details] PCAP for case where WINDOW_UPDATE is not sent We are using embedded tomcat version 9.0.43 in our application to transport http/2 packets between 2 systems (h2c connection). All parameters used are the tomcat defaults. We are facing the below issue : 1. Tomcat is not sending WINDOW_UPDATE when a request(payload > 65K) is landed on an Unknown URL(which is not deployed as a servlet and not having a servlet mapping). The same is working when request landed on an known URL(which is deployed as a servlet and has an servlet mapping). 2. Tomcat is listening on 1080 port, client is sending packet size of > 65KB, but here tomcat receives only 65KB and not receiving full DATA, later tomcat sends RST_STREAM, further no WINDOW_UPDATE, after that client is not able to send DATA frames as there is no WINDOW_UPDATE from tomcat. Working case : Client sends request to a correct URL of size/payload > 65KB. Tomcat is sending WINDOW_UPDATE. 200OK from application, which is working as expected. Later client is able to send requests along with DATA also, and tomcat is receiving those . Please find attached the PCAPs for the Not Working Case (unknown url). Please help resolve this issue. Thanks in advance !!