Re: Stefan's bug (was: max_standby_delay considered harmful)
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: Simon Riggs <simon@2ndquadrant.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>, Andres Freund <andres@anarazel.de>, Florian Pflug <fgp@phlo.org>, Dimitri Fontaine <dfontaine@hi-media.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>, Bruce Momjian <bruce@momjian.us>, Greg Smith <greg@2ndquadrant.com>, Josh Berkus <josh@agliodbs.com>
Date: 2010-05-18T06:45:00Z
Lists: pgsql-hackers
On Tue, May 18, 2010 at 3:24 PM, Simon Riggs <simon@2ndquadrant.com> wrote: > On Tue, 2010-05-18 at 15:09 +0900, Fujii Masao wrote: >> On Tue, May 18, 2010 at 2:26 PM, Simon Riggs <simon@2ndquadrant.com> wrote: >> > On Tue, 2010-05-18 at 12:02 +0900, Fujii Masao wrote: >> >> On Mon, May 17, 2010 at 9:01 PM, Simon Riggs <simon@2ndquadrant.com> wrote: >> >> >> (1) >> >> >> Smart or fast shutdown requested in PM_STARTUP state always removes >> >> >> the backup_label file if it exists. But it might be still required >> >> >> for subsequent recovery. I changed your patch so that additionally >> >> >> the postmaster skips deleting the backup_label in that case. >> >> > >> >> > Don't like the name NeedBackupLabel seems too specific. That really >> >> > corresponds to "we were in recovery". We should have a couple of >> >> > super-states that correspond to am in recovery/am not in recovery so we >> >> > can drive it from that. >> >> >> >> ISTM that we can use XLogCtl->SharedRecoveryInProgress for that. >> >> Is this OK? >> > >> > That can change state at any time. Would that work? >> >> Yes. XLogCtl->SharedRecoveryInProgress is set to TRUE only when >> XLogCtl structure is initialized (i.e., XLOGShmemInit), and it's >> set to FALSE only at the end of recovery. > > You should be using RecoveryInProgress() Isn't access to a bool variable atomic? And I think that postmaster should not take any locks since its deadlock would cause a fatal situation. No? Regards, -- Fujii Masao NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center