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-09T19:35:23Z
Lists: pgsql-bugs
Attachments
- postpone-port-opening-2.patch (text/x-diff) patch
I wrote: > In other words, the right way to think about this is less "move > syslogger launch to earlier" and more "move port opening to later". > I did some cursory testing of that idea with the attached patch, > which simply relocates the port opening logic to below where > syslogger start is (though "git diff" insists on presenting it > differently :-(). I also moved and recommented the emission > of the "starting ..." log entry. The cfbot noticed that this required a minor rebase over 7de19fbc0, so here is one. > One issue with this is that we can't be sure we have sole control > of the postmaster port number at the time we create shmem. > Hence, to avoid undesirable conflicts of shmem, we should change > things to base the shmem key on the datadir's ID not the port > number, as was already speculated about in > https://postgr.es/m/16908.1557521200@sss.pgh.pa.us That's now been committed (7de19fbc0), so it's not holding back this patch anymore. > Also, this will change the order in which entries get made into > postmaster.pid. I think that's OK, but we'll need to take a > close look at pg_ctl to be sure it isn't making any invalid > assumptions. I took a look around and couldn't find any such problems. pg_ctl, in particular, doesn't care about the order in which these lines get added. I did add a comment to pidfile.h warning people against making new assumptions in this area. > There may be some other reorderings that would be a good idea. > In particular I'm thinking that the CreateOptsFile call should > be pushed down, so that it doesn't get written until we know > that the port number is OK. I did that here, too. I think this probably is committable now, though of course it'd be good for somebody to review it (and maybe test on Windows before it hits the buildfarm?) regards, tom lane
Commits
-
Rearrange postmaster's startup sequence for better syslogger results.
- 9a86f03b4e8c 13.0 landed
-
Improve logrotate test so that it meaningfully exercises syslogger.
- 9d5c22d28f8c 12.0 landed
-
Revert "postmaster: Start syslogger earlier".
- 833451552925 12.0 landed
-
postmaster: Start syslogger earlier
- 57431a911d3a 12.0 cited