Re: Add client connection check during the execution of the query

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2019-07-05T06:02:44Z
Lists: pgsql-hackers
On Fri, Jul 5, 2019 at 5:36 PM Thomas Munro <thomas.munro@gmail.com> wrote:
> On Sat, Feb 9, 2019 at 6:16 AM <s.cherkashin@postgrespro.ru> wrote:
> > The purpose of this patch is to stop the execution of continuous
> > requests in case of a disconnection from the client. In most cases, the
> > client must wait for a response from the server before sending new data
> > - which means there should not remain unread data on the socket and we
> > will be able to determine a broken connection.
> > Perhaps exceptions are possible, but I could not think of such a use
> > case (except COPY). I would be grateful if someone could offer such
> > cases or their solutions.
> > I added a test for the GUC variable when the client connects via SSL,
> > but I'm not sure that this test is really necessary.
>
> [review]

Email to Sergey is bouncing back.  I've set this to "Waiting on
author" in the Commitfest app.


--
Thomas Munro
https://enterprisedb.com



Commits

  1. Add WL_SOCKET_CLOSED for socket shutdown events.

  2. Use WL_SOCKET_CLOSED for client_connection_check_interval.

  3. Detect POLLHUP/POLLRDHUP while running queries.

  4. Improve timeout.c's handling of repeated timeout set/cancel.