Re: Hot Standby on git - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Hot Standby on git
Date
Msg-id 4AC5AF36.3020900@enterprisedb.com
Whole thread Raw
In response to Re: Hot Standby on git  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: Hot Standby on git
List pgsql-hackers
Simon Riggs wrote:
> On Fri, 2009-10-02 at 10:04 +0300, Heikki Linnakangas wrote:
>> Simon Riggs wrote:
>>> @@ -7061,6 +7061,15 @@ ShutdownXLOG(int code, Datum arg)
>>>     else
>>>     {
>>>         /*
>>> +        * Take a snapshot of running transactions and write this to WAL.
>>> +        * This allows us to reconstruct the state of running transactions
>>> +        * during archive recovery, if required. We do this even if we are
>>> +        * not archiving, to allow a cold physical backup of the server to
>>> +        * be useful as a read only standby.
>>> +        */
>>> +       GetRunningTransactionData();
>>> +
>>> +       /*
>>>          * If archiving is enabled, rotate the last XLOG file so that all the
>>>          * remaining records are archived (postmaster wakes up the archiver
>>>          * process one more time at the end of shutdown). The checkpoint
>>>
>> I don't think this will do any good where it's placed. The checkpoint
>> that follows will have its redo-pointer beyond the running-xacts record,
>> so WAL replay will never see it.
> 
> Perhaps we need two entries then to cover multiple use cases?
> 
> The placement of this was specifically chosen so that it is the last
> entry before the log switch, so that the runningxact record would be
> archived. 
> 
> Yes, we also need one after the shutdown checkpoint to cover the case
> where the whole data directory is copied after shutdown. The comments
> matched the latter case but the position addressed the first case, so it
> looks like I was confused as to which case I was addressing.
> 
> Have updated code to do both. See what you think. Thanks.

It seems dangerous to write a WAL record after the shutdown checkpoint.
It will be overwritten by subsequent startup, which is a recipe for trouble.

--  Heikki Linnakangas EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: Hot Standby on git
Next
From: Simon Riggs
Date:
Subject: Re: Hot Standby on git