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