On Nov 7, 2009, at 7:02 PM, Adam Kocoloski wrote:

On Nov 6, 2009, at 6:01 AM, Brian Candler wrote:

On Wed, Nov 04, 2009 at 05:37:55PM -0500, Adam Kocoloski wrote:
Ok, confirmed -- this call blocks for 10 seconds when no data is
available on the socket. I think that's the behavior we're looking for:
detect stale connections, but let slow connections keep working.

10 seconds still seems like an extremely low timeout to me. Drop a few
packets on a busy link and TCP could easily backoff for that long.

Why not, say, 2 minutes? The only resource issue would be the RAM used by
the idle erlang process.

As a reference, perhaps it would be worth looking at how Apache httpd deals with this. I doubt it kicks off clients which have stalled for only 10
seconds, but I haven't got the unpacked source to hand.

Hi Brian, I agree that What Would Apache Do? is a good mantra here. Looks like the answer is "wait 5 minutes":

http://httpd.apache.org/docs/2.2/mod/core.html#timeout

I'm comfortable making that switch if no one objects.  Thanks, Adam

For the archives, we switched to this 5 minute timeout in r834212.

Adam

Reply via email to