https://bz.apache.org/bugzilla/show_bug.cgi?id=69748
--- Comment #3 from Nagendra <nagendra.vallapuse...@servicenow.com> --- When a request is processed synchronously, Tomcat works fine as follows. 1. Handles the request and sends a response. 2. Waits for the next request from the same client for a duration defined by keepAliveTimeout in the server.xml <Connector keepAliveTimeout="..." connectionTimeout="..."/> keepAliveTimeout is used after the response is sent and the connection is idle. connectionTimeout is used before the request is fully received (e.g., while waiting for headers). In case of async request, Tomcat is working as follows and not considering the value defined for 1. Handles the request and sends a response. 2. After asyncContext.complete() is invoked, it waits for the next request from the same client for a duration defined by connectionTimeout always. ****but not keepAliveTimeout********* Initial findings in the code ------------------------------- Http11Processor.java - within the service method, synchronous request handling enters the while loop twice. The first iteration consumes the connectionTimeout value, and the second iteration consumes the keepAliveTimeout value via inputBuffer.parseRequestLine(). However, for asynchronous request handling, the loop runs only once due to the async flag condition, consuming only the connectionTimeout value and skipping the second iteration thereby ignoring the keepAliveTimeout. -- 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