Re: Timeout and wait-forever in sync rep - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: Timeout and wait-forever in sync rep
Date
Msg-id AANLkTinnxTkpv3QBFOKTu-tY-pY3Q70nVvhsCbQ_FJ8a@mail.gmail.com
Whole thread Raw
In response to Re: Timeout and wait-forever in sync rep  (Greg Stark <gsstark@mit.edu>)
Responses Re: Timeout and wait-forever in sync rep
List pgsql-hackers
On Tue, Oct 19, 2010 at 1:06 AM, Greg Stark <gsstark@mit.edu> wrote:
> On Mon, Oct 18, 2010 at 12:03 AM, Fujii Masao <masao.fujii@gmail.com> wrote:
>> The keepalives don't work at least on linux when the connection is terminated
>> after sending a packet and before receiving TCP-level ACK. You can confirm
>> this by unplugging the LAN cable from a client server while running pgbench
>> on a client.
>
> What do you mean by "don't work"?

I mean, for example, that the server cannot detect the disconnection for
more than 60 seconds even if the user configures the keepalive as follows.
   tcp_keepalives_idle      = 10   tcp_keepalives_interval  = 5   tcp_keepalives_count     = 2

> In this case no additional packets
> would be needed since the regular ack would serve the same purpose.
> How long did you wait to test whether it would work? It takes quite a
> while before the connection would time out.

Yep. In the case where the keepalive doesn't work, usually TCP retry
timeout makes the server detect the disconnection. The detection time
depends on the kernel parameter tcp_retries1 and tcp_retries2. AFAIR,
it's several minutes by default.

Regards,

-- 
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center


pgsql-hackers by date:

Previous
From: KaiGai Kohei
Date:
Subject: Re: security hook on table creation
Next
From: Peter Eisentraut
Date:
Subject: comments on type attributes broken in 9.1devel