pgsql: Prevent the already-archived WAL file from being archived again. - Mailing list pgsql-committers

From Fujii Masao
Subject pgsql: Prevent the already-archived WAL file from being archived again.
Date
Msg-id E1XhCtS-0004FN-WE@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Prevent the already-archived WAL file from being archived again.

Previously the archive recovery always created .ready file for
the last WAL file of the old timeline at the end of recovery even when
it's restored from the archive and has .done file. That is, there was
the case where the WAL file had both .ready and .done files.
This caused the already-archived WAL file to be archived again.

This commit prevents the archive recovery from creating .ready file
for the last WAL file if it has .done file, in order to prevent it from
being archived again.

This bug was added when cascading replication feature was introduced,
i.e., the commit 5286105800c7d5902f98f32e11b209c471c0c69c.
So, back-patch to 9.2, where cascading replication was added.

Reviewed by Michael Paquier

Branch
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/6d12cc1f01c867fd7317ac5580b02c04f313d9ce

Modified Files
--------------
src/backend/access/transam/xlog.c |   16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)


pgsql-committers by date:

Previous
From: Fujii Masao
Date:
Subject: pgsql: Prevent the already-archived WAL file from being archived again.
Next
From: Fujii Masao
Date:
Subject: pgsql: Prevent the already-archived WAL file from being archived again.