From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Hot Standby on git |
Date: | 2009-10-02 07:43:50 |
Message-ID: | 4AC5AF36.3020900@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2009-10-02 07:55:14 | Re: Hot Standby on git |
Previous Message | Simon Riggs | 2009-10-02 07:36:06 | Re: Hot Standby on git |