Re: BUG #15804: Assertion failure when using logging_collector with EXEC_BACKEND

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, Andres Freund <andres@anarazel.de>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Yuli Khodorkovskiy <yuli.khodorkovskiy@crunchydata.com>, pgsql-bugs@lists.postgresql.org
Date: 2019-09-11T15:47:07Z
Lists: pgsql-bugs
Michael Paquier <michael@paquier.xyz> writes:
> On Tue, Sep 10, 2019 at 10:58:52AM -0400, Tom Lane wrote:
>> Here's a version that does it like that.  After studying things a bit,
>> it seemed like a good idea to also move RemovePgTempFiles() down,
>> so that that possibly-slow step still occurs after making the external
>> PID file.  Everything else that we've moved to before that step
>> should be reasonably quick.

> Good point.  Nothing more to add with this version.  Thanks for
> caring.

I did one final round of testing and noted that in a Linux EXEC_BACKEND
build, this last change causes the race condition that was noted upthread:
RemovePgTempFiles could remove the parameter file that the syslogger
process is supposed to consume.  So I split off the clearing of that
subdirectory as we'd discussed, and pushed it.  Thanks for reviewing!

			regards, tom lane



Commits

  1. Rearrange postmaster's startup sequence for better syslogger results.

  2. Improve logrotate test so that it meaningfully exercises syslogger.

  3. Revert "postmaster: Start syslogger earlier".

  4. postmaster: Start syslogger earlier