Hi,
In the description:

Provide a new optional GUC that can be used to check whether the client
connection has gone away periodically while running very long queries.

I think moving 'periodically' to the vicinity of 'to check' would make the
sentence more readable.

+        the operating system, or the
+        <xref linkend="guc-tcp-keepalives-idle"/>,
+        <xref linkend="guc-tcp-keepalives-idle"/> and

The same guc is listed twice. I am not sure if that was intended.

Cheers

On Tue, Mar 23, 2021 at 2:54 PM Thomas Munro <thomas.mu...@gmail.com> wrote:

> On Tue, Mar 23, 2021 at 11:47 PM Thomas Munro <thomas.mu...@gmail.com>
> wrote:
> > That leaves the thorny problem Tom mentioned at the top of this
> > thread[1]: this socket-level approach can be fooled by an 'X' sitting
> > in the socket buffer, if a client that did PQsendQuery() and then
> > PQfinish().  Or perhaps even by SSL messages invisible to our protocol
> > level.  That can surely only be addressed by moving the 'peeking' one
> > level up the protocol stack.  I've attached a WIP attemp to do that,
> > on top of the other patch.  Lookahead happens in our receive buffer,
> > not the kernel's socket buffer.
>
> After sleeping on this, I'm still not seeing any problem with this
> approach.  Sanity checks welcome.  Of course that function should be
> called something like pq_peekmessage() -- done.  I think this patch
> addresses all critiques leveled at the earlier versions, and I've
> tested this with SSL and non-SSL connections, by killing psql while a
> query runs, and using a client that calls PQfinish() after starting a
> query, and in an earlier version I did yank-the-cable testing, having
> set up TCP keepalive to make that last case work.
>

Reply via email to