Re: Stefan's bug (was: max_standby_delay considered harmful)
Simon Riggs <simon@2ndquadrant.com>
From: Simon Riggs <simon@2ndQuadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Fujii Masao <masao.fujii@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>, pgsql-hackers <pgsql-hackers@postgresql.org>, Bruce Momjian <bruce@momjian.us>, Greg Smith <greg@2ndquadrant.com>, Josh Berkus <josh@agliodbs.com>
Date: 2010-05-19T12:49:55Z
Lists: pgsql-hackers
On Wed, 2010-05-19 at 08:21 -0400, Tom Lane wrote: > Robert Haas <robertmhaas@gmail.com> writes: > > On Wed, May 19, 2010 at 1:47 AM, Fujii Masao <masao.fujii@gmail.com> wrote: > >> Yes, but I prefer XLogCtl->SharedRecoveryInProgress, which is the almost > >> same indicator as the boolean you suggested. Thought? > > > It feels cleaner and simpler to me to use the information that the > > postmaster already collects rather than having it take locks and check > > shared memory, but I might be wrong. Why do you prefer doing it that > > way? > > The postmaster must absolutely not take locks (once there are competing > processes). This is non negotiable from a system robustness standpoint. Masao has not proposed this, in fact his proposal was to deliberately avoid do so. I proposed using the state recorded in xlog.c rather than attempting to duplicate that with a second boolean in postmaster because that seems likely to be more buggy. -- Simon Riggs www.2ndQuadrant.com