Re: Race conditions with checkpointer and shutdown

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, Thomas Munro <thomas.munro@gmail.com>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2019-04-29T17:04:30Z
Lists: pgsql-hackers
Hi,

On 2019-04-29 12:55:31 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > Hm, I'm not convinced that's OK. What if there's a network hickup? We'll
> > wait until there's an OS tcp timeout, no?
> 
> No.  send() is only going to block if there's no room in the kernel's
> buffers, and that would only happen if we send a lot of data in between
> waits to receive data.  Which, AFAIK, the walreceiver never does.
> We might possibly need to improve that code in the future, but I don't
> think there's a need for it today.

Ah, right.

- Andres



Commits

  1. In walreceiver, don't try to do ereport() in a signal handler.