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

Reply via email to