Re: Keepalives win32

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Magnus Hagander <magnus(at)hagander(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, Pavel Golub <pavel(at)gf(dot)microolap(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Keepalives win32
Date: 2010-07-07 13:32:41
Message-ID: AANLkTinlBb2FXtWchHbL_K08gzMmlnRu6j4wjJk3D2kR@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jul 7, 2010 at 9:20 AM, Magnus Hagander <magnus(at)hagander(dot)net> wrote:
> On Wed, Jun 30, 2010 at 17:46, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
>>> I also think we may want to suggest that for most environments,
>>> people may want to change these settings to something more
>>> aggressive, like a 30 to 120 second initial delay, with a 10 or 20
>>> second retry interval.  The RFC defaults seem approximately right
>>> for a TCP connection to a colony on the surface of the moon, where
>>> besides the round trip latency of 2.5 seconds they might have to pay
>>> by the byte.
>>
>> Well, the RFCs were definitely written at a time when bandwidth was a
>> lot more expensive than it is today.
>>
>>> In other words, it is *so* conservative that I have
>>> trouble seeing it ever causing a problem compared to not having
>>> keepalive enabled, but it will eventually clean things up.
>>
>> Yes.  This is a large part of the reason why I think it's okay for us to
>> turn libpq keepalive on by default in 9.0 --- the default parameters for
>> it are so conservative as to be unlikely to cause trouble.  If Windows
>> isn't using RFC-equivalent default parameters, that seems like a good
>> reason to disregard the system settings and force use of the RFC values
>> as defaults.
>
> Here's an updated version of the patch, which includes server side
> functionality. I took out the code that tried to"be smart". It'll now
> set them to 2 hours/1 second by default. I looked quickly at the RFC
> and didn't find the exact values there, so those values are the
> documented out-of-the-box defaults on Windows. I can easily change
> them to RFC values if someone can find them for me :)
>
> It's also merged with roberts macos patch, since they were conflicting.
>
> Doc changes not included, but I'll get those in before commit.
>
> Comments?

Looks generally OK, though my knowledge of Windows is pretty limited.
We'd better get this committed PDQ if it's going into beta3, else
there won't be a full buildfarm cycle before we wrap.

(BTW, there are two buildfarm machines - wigeon and orangutan - that
are consistently failing with rather bizarre error messages. Are
these real failures or are those machines just messed up?)

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Grittner 2010-07-07 13:48:11 Re: Keepalives win32
Previous Message Magnus Hagander 2010-07-07 13:20:01 Re: Keepalives win32