Re: Hot standby 9.2.6 -> 9.2.6 PANIC: WAL contains references to invalid pages - Mailing list pgsql-bugs

From Tom Lane
Subject Re: Hot standby 9.2.6 -> 9.2.6 PANIC: WAL contains references to invalid pages
Date
Msg-id 25048.1389662159@sss.pgh.pa.us
Whole thread Raw
In response to Re: Hot standby 9.2.6 -> 9.2.6 PANIC: WAL contains references to invalid pages  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: Hot standby 9.2.6 -> 9.2.6 PANIC: WAL contains references to invalid pages  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-bugs
Andres Freund <andres@2ndquadrant.com> writes:
> On 2014-01-13 23:29:59 +0200, Heikki Linnakangas wrote:
>> I don't think that saves us. standbyMode can be STANDBY_SNAPSHOT_READY,
>> before we reach consistency. Adding a check for reachedConsistency, though,
>> ought to fix it.

> Maybe we should just put LocalHotStandbyActive into xlog_internal.h?
> That'd be enough for the startup process. Or alternatively add a check
> for EnableHotStandby into HotStandbyActive() so we don't take the
> spinlock if it's not enabled?

After a little bit of research, I propose that we add a function like
this in xlog.c:

/*
 * Like HotStandbyActive(), but to be used only in WAL replay code,
 * where we don't need to ask any other process what the state is.
 */
bool
HotStandbyActiveStartup(void)
{
    Assert(AmStartupProcess());
    return LocalHotStandbyActive;
}

Any objections?  Bikeshedding on the name?

            regards, tom lane

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: Hot standby 9.2.6 -> 9.2.6 PANIC: WAL contains references to invalid pages
Next
From: Andres Freund
Date:
Subject: Re: Hot standby 9.2.6 -> 9.2.6 PANIC: WAL contains references to invalid pages