Re: Hot Standby: too many KnownAssignedXids
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Simon Riggs <simon@2ndQuadrant.com>
Cc: Joachim Wieland <joe@mcknight.de>, Fujii Masao <masao.fujii@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2010-12-02T10:41:39Z
Lists: pgsql-hackers
On 02.12.2010 11:02, Simon Riggs wrote: > The cause of the issue is that replay starts at one LSN and there is a > delay until the RunningXacts WAL record occurs. If there was no delay, > there would be no issue at all. In CreateCheckpoint() we start by > grabbing the WAInsertLock and later recording that pointer as part of > the checkpoint record. My proposal is to replace the "grab the lock" > code with the insert of the RunningXacts WAL record (when wal_level > set), so that recovery always starts with that record type. Oh, interesting idea. But AFAICS closing the gap between acquiring the running-xacts snapshot and writing it to the log is sufficient, I don't see what moving the running-xacts record buys us. Does it allow some further simplifications somewhere? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com