From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | James Bardin <jbardin(at)bu(dot)edu>, pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #5011: Standby recovery unable to follow timeline change |
Date: | 2009-08-27 06:30:16 |
Message-ID: | 4A9627F8.7070208@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Tom Lane wrote:
> Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> writes:
>> Tom Lane wrote:
>>> Specifically, I propose this patch instead.
>
>> It looks better, but leaves the door open for WAL insertions for a much
>> longer period. Particularly, there's the call to CheckpointGuts(), which
>> does a lot of things. Maybe I'm just too paranoid about keeping that
>> sanity check as tight as possible...
>
> Well, I'd prefer to go through the LocalSetXLogInsertAllowed/
> reset LocalXLogInsertAllowed dance twice rather than have this code
> calling InitXLOGAccess directly (and unconditionally, which was
> even worse IMHO). But I don't actually see anything wrong with
> having CheckpointGuts enabled to write WAL. I could even see that
> being *necessary* in some future iteration of the system --- who's
> to say that a checkpoint involves adding only one WAL entry?
Yeah. maybe it's OK. There isn't anything strictly wrong about writing
WAL records at that time - we already allowed it for the rmgr cleanup
routines. CheckpointGuts is shared by recovery points, though, so any
WAL insertions in there would be conditional (like "if (in recovery)
xloginsert()").
I'll commit your patch then.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2009-08-27 07:00:01 | Re: BUG #5008: Server Startup Problem - When server is configured for SSL |
Previous Message | Greg Stark | 2009-08-27 04:10:41 | Re: BUG #4996: postgres.exe memory consumption keeps going up |