On 27.10.2011 09:57, Heikki Linnakangas wrote:
My suggestion is to fix the CLOG problem in that same way that you fixed
the SUBTRANS problem, i.e. by moving LogStandbySnapshot() to before
Here's what I image CreateCheckPoint() should look like:
1) LogStandbySnapshot() and fill out oldestActiveXid
2) Fill out REDO
3) Wait for concurrent commits
4) Fill out nextXid and the other fields
It's then no longer necessary for LogStandbySnapshot() do modify
the nextXid, since we fill out nextXid after LogStandbySnapshot() and
will thus derive a higher value than LogStandbySnapshot() would have.
Hmm, I don't think that fully fixes the problem. Even if you're certain
that CheckPointGuts() has fsync'd the clog page to disk, VACUUM might
decide to truncate it away again while the checkpoint is running.
Oh, scratch that. During recovery, we merrily treat missing slru files
as they were filled with zeros.
Sent via pgsql-hackers mailing list (email@example.com)
To make changes to your subscription: