Re: Stefan's bug (was: max_standby_delay considered harmful) - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Stefan's bug (was: max_standby_delay considered harmful)
Date
Msg-id 1274163859.28911.1618.camel@ebony
Whole thread Raw
In response to Re: Stefan's bug (was: max_standby_delay considered harmful)  (Fujii Masao <masao.fujii@gmail.com>)
Responses Re: Stefan's bug (was: max_standby_delay considered harmful)
List pgsql-hackers
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()

> Here is the updated patch (fix_smart_shutdown_in_recovery_v3_fujii.patch).
> I used XLogCtl->SharedRecoveryInProgress instead of NeedBackupLabel,
> which made the patch very simple. And I prevented the postmaster
> from invoking walreceiver after shutdown or recovery.
> 
> >> (2)
> >> pg_ctl -ms stop emits the following warning whenever there is the
> >> backup_label file in $PGDATA.
> >>
> >>       WARNING: online backup mode is active
> >>       Shutdown will not complete until pg_stop_backup() is called.
> >>
> >> This warning doesn't fit in with the shutdown during recovery case.
> >> Since smart shutdown might be requested by other than pg_ctl, the
> >> warning should be emitted in server side rather than client, I think.
> >> How about moving the warning to the server side?
> 
> Though I'm not sure if this should be fixed for 9.0, I attached the
> patch (move_bkp_cancel_warning_v1.patch).
> 
> Regards,
> 
-- Simon Riggs           www.2ndQuadrant.com



pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Stefan's bug (was: max_standby_delay considered harmful)
Next
From: Fujii Masao
Date:
Subject: Re: Stefan's bug (was: max_standby_delay considered harmful)