I can currently reproduce the following problem with 2.2.15 event MPM under high load:

When an httpd child process gets closed due to the max spare threads rule and it holds established client connections for which it has fully received a keep alive request, but not yet send any part of the response, it will simply close that connection.

Is that expected behaviour? It doesn't seem reproducible for the worker MPM. The behaviour has been observed using extreme spare rules in order to make processes shut down often, but it still seems not right.

Details:

Platform Solaris 10 Sparc. Client "ab". Primary observation "Length Error". Added loggin to ab and saw that the connection returned EOF when trying to read response. Logged connection port for ab and Apache and saw, that it happens while the connection is still in KeepAlive but the PID shuts down. Did packet dumps and saw request coming in, server ACKs request and 0.5 seconds later sends FIN. That's the point in time the child process that holds the respective connection shuts down.

NB: I'm not talking about (graceful) shutdown via apachectl, nor about MaxRequestsPerChild.

Any ideas welcome. If there are none, I'll inspect more deeply.

Regards,

Rainer

Reply via email to