Has anyone ever seen a situation where httpd (or the OS) will RST a connection because there's too much unread data or such?
I'm doing some pipelined requests with serf against a 2.0.50 httpd on RH7.1 server (2.4.2 kernel?). I'm getting ECONNRESET on the client after I try to read or write a large number of requests. httpd's side is sending the RSTs - but there's nothing in the httpd logs. Can an RST happen without a process dying? Isn't that the most common reason for the RST flag? (We've checked and no httpd are dying, AFAICT.) Bumping the MaxKeepAliveRequests from 10 to 100 apparently solves this; but that's just odd - yet it implies that httpd is in some control over this behavior. Yet, if it were httpd, why isn't it responding to all of the previous requests before it hit the MaxKeepAliveRequests? (There is no response with 'Connection: Close' being sent - it just drops off in the middle of writing the response body as far as we can see.) So, why would it terminate the connection *before* responding to all of the outstanding responses that are under the MaxKeepAliveRequests limit? Is httpd writing the response and Linux just dropping it? Any musings appreciated. =) -- justin