https://issues.apache.org/bugzilla/show_bug.cgi?id=45073
Summary: APR doesn't support pipelined requests and per connection limits aren't enforced Product: Tomcat 6 Version: 6.0.16 Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Connectors AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The APR connector doesn't support pipelined requests. This is because the InternalAPRInputBuffer is flushed between requests and may be reassigned to a different socket. This could loose a pipelined request. Pipelined requests are defined in RFC2616, sec 8.1.2.2. I have attached a simple python test script. The behavior is different depending on whether the APR or internal Http11 connector is used. There is no-requirement for 2 requests to be in different packets and if TCP_NODELAY is _NOT_ set they may well be coalesced into the same packet by the Nagle algorithm. This means that they will both be read into the InputBuffer together but the second will be discarded when the first request is completed. The connector unable to enforce the maxKeepAliveRequests configuration parameter. Currently this works to enable or disable keep alives but cannot enforce anything else because the current limit (number remaining) for this socket isn't passed around between the poller, sendfile, worker etc. <opinion> Probably the correct fix here is to assign the InternalAPRInputBuffer and InternalAPROutputBuffer to the connection in the acceptor and then pass these around for the life of the socket. We can also add the limits and statistics to these buffers. In this way, if a second request is read up into the buffer with the first, it will still be there when the first request is completed. </opinion> -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]