Fwd: libpq: indefinite block on poll during network problems - Mailing list pgsql-general

From Dmitry Samonenko
Subject Fwd: libpq: indefinite block on poll during network problems
Date
Msg-id CAFKp+3cV4LDXn5KUxDFQnewA6KYBO+7FgNa7n9eFGWE1iRGi6Q@mail.gmail.com
Whole thread Raw
In response to libpq: indefinite block on poll during network problems  (Dmitry Samonenko <shreddingwork@gmail.com>)
Responses Re: Fwd: libpq: indefinite block on poll during network problems
List pgsql-general
On Tue, May 27, 2014 at 2:35 PM, Albe Laurenz <laurenz.albe@wien.gv.at> wrote:
In PostgreSQL you can handle the problem of dying connections by setting the
tcp_keepalives_* parameters (see http://www.postgresql.org/docs/current/static/runtime-config-connection.html).

That should take care of the problem, right?

Yours,
Laurenz Albe

I am afraid it won't help:

1. AFAIK, in Linux TCP keepalive is used on idle connections only. If not all data is transmitted - connection is not idle - keep alive timer is not started.
2. POLLHUP mask is used (while setting poll fds) to catch keep alive timeout. Sadly, libpq sets (POLLIN | POLLERR).

With regards,
   Dmitry Samonenko

pgsql-general by date:

Previous
From: Alban Hertroys
Date:
Subject: Re: Delete trigger and data integrity
Next
From: Andrej Vanek
Date:
Subject: Re: hidden junk files in ...data/base/oid/