Re: Hot Standby on git

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

In response to

Responses

Browse pgsql-hackers by date

  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