]> granicus.if.org Git - postgresql/commit
Install recycled WAL segments with current timeline ID during recovery.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 30 Apr 2013 13:31:21 +0000 (16:31 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 30 Apr 2013 13:35:19 +0000 (16:35 +0300)
commit4aed94f1660fb55bc825bf7f3135379dab28eb55
treeb20769b3332ca8b7a1f1cffdbdfadcbd1239d1fa
parent841c9b6ba151ed5a41733ec345bf9bf32a55f4dc
Install recycled WAL segments with current timeline ID during recovery.

This is a follow-up to the earlier fix, which changed the recycling logic
to recycle WAL segments under the current recovery target timeline. That
turns out to be a bad idea, because installing a recycled segment with
a TLI higher than what we're recovering at the moment means that the recovery
logic will find the recycled WAL segment and try to replay it. It will fail,
but but the mere presence of such a WAL segment will mask any other, real,
file with the same log/seg, but smaller TLI.

Per report from Mitsumasa Kondo. Apply to 9.1 and 9.2, like the previous
fix. Master was already doing this differently; this patch makes 9.1 and
9.2 to do the same thing as master.
src/backend/access/transam/xlog.c