Re: keepalives on MacOS X

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: keepalives on MacOS X
Date: 2010-06-30 02:53:33
Message-ID: AANLkTinIMZ_7y6gX_N0uW74qha-dE2luFW-O5qIQSjYK@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jun 29, 2010 at 11:28 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Tue, Jun 29, 2010 at 12:42 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Yeah, a bit of rooting around in the Darwin sources shows that this
>> value is used as a per-connection override for tcp_keepidle.  So it
>> is a synonym.  Not sure if it's worth supporting when the other value
>> can't be set too.  Maybe it'd be more useful to document that people can
>> set the system-wide values if they're desperate.
>
> Well, the default value for tcp_keepidle is 2 hours, and the default
> value for tcp_keepintvl is 75 seconds.  Assuming that tcp_keepcount
> defaults to something reasonable (I think the default on Linux is 9),
> the lion's share of the time will be waiting for tcp_keepidle - so
> just the ability to reduce that value to something reasonable should
> help a lot.  It's also not much code - proposed patch attached.

src/interfaces/libpq/fe-connect.c
+ appendPQExpBuffer(&conn->errorMessage,
+ libpq_gettext("setsockopt(TCP_KEEPIDLE) failed: %s\n"),
+ SOCK_STRERROR(SOCK_ERRNO, sebuf, sizeof(sebuf)));

s/TCP_KEEPIDLE/TCP_KEEPALIVE

Don't we need to change pq_getkeepalivesidle?

In pq_setkeepalivesidle, if neither TCP_KEEPIDLE nor TCP_KEEPALIVE are
supported, the following message is output.

setsockopt(TCP_KEEPIDLE) not supported

We should change it to something like?

neither setsockopt(TCP_KEEPIDLE) nor setsockopt(TCP_KEEPALIVE) are supported

Regards,

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-06-30 03:25:35 Re: Cannot cancel the change of a tablespace
Previous Message Bruce Momjian 2010-06-30 02:45:12 Re: pg_archive_bypass