Re: Re: Slave enters in recovery and promotes when WAL stream with master is cut + delay master/slave

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Re: Slave enters in recovery and promotes when WAL stream with master is cut + delay master/slave
Date: 2013-01-17 16:33:42
Message-ID: 50F827E6.8050900@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 17.01.2013 17:42, Andres Freund wrote:
> Ok, the attached patch seems to fix a) and b). c) above is bogus, as
> explained in a comment in the patch. I also noticed that the TLI check
> didn't mark the last source as failed.

This looks fragile:

> /*
> * We only end up here without a message when XLogPageRead() failed
> * - in that case we already logged something.
> * In StandbyMode that only happens if we have been triggered, so
> * we shouldn't loop anymore in that case.
> */
> if (errormsg == NULL)
> break;

I don't like relying on the presence of an error message to control
logic like that. Should we throw in an explicit CheckForStandbyTrigger()
check in the condition of that loop?

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2013-01-17 16:42:25 Re: Re: Slave enters in recovery and promotes when WAL stream with master is cut + delay master/slave
Previous Message Andres Freund 2013-01-17 16:31:51 Re: Event Triggers: adding information