Re: Completely broken replica after PANIC: WAL contains references to invalid pages - Mailing list pgsql-bugs

From Simon Riggs
Subject Re: Completely broken replica after PANIC: WAL contains references to invalid pages
Date
Msg-id CA+U5nMKMSkcxr5HjrTzXtcMybK-0DAFQhOJ8G2KsvZMGtgULGA@mail.gmail.com
Whole thread Raw
In response to Re: Completely broken replica after PANIC: WAL contains references to invalid pages  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: Completely broken replica after PANIC: WAL contains references to invalid pages  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-bugs
On 30 March 2013 17:21, Andres Freund <andres@2ndquadrant.com> wrote:

> So if the xid is later than latestObservedXid we extend subtrans one by
> one. So far so good. But we initialize it in
> ProcArrayApplyRecoveryInfo() when consistency is initially reached:
>                              latestObservedXid = running->nextXid;
>                              TransactionIdRetreat(latestObservedXid);
> Before that subtrans has initially been started up with:
>                         if (wasShutdown)
>                                 oldestActiveXID = PrescanPreparedTransactions(&xids, &nxids);
>                         else
>                                 oldestActiveXID = checkPoint.oldestActiveXid;
> ...
>                         StartupSUBTRANS(oldestActiveXID);
>
> That means its only initialized up to checkPoint.oldestActiveXid. As it
> can take some time till we reach consistency it seems rather plausible
> that there now will be a gap in initilized pages. From
> checkPoint.oldestActiveXid to running->nextXid if there are pages
> inbetween.

That was an old bug.

StartupSUBTRANS() now explicitly fills that gap. Are you saying it
does that incorrectly? How?

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

pgsql-bugs by date:

Previous
From: Rae Stiening
Date:
Subject: Re: BUG #8013: Memory leak
Next
From: jevgeni.virves@gmail.com
Date:
Subject: BUG #8026: pgAdmin III FATAL: Cannot open the logfile!