pgsql: Fix backup manifests to generate correct WAL-Ranges across timel

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix backup manifests to generate correct WAL-Ranges across timel
Date: 2021-08-23 02:10:36
Message-ID: E1mHzQ4-0002nW-A3@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix backup manifests to generate correct WAL-Ranges across timelines

In a backup manifest, WAL-Ranges stores the range of WAL that is
required for the backup to be valid. pg_verifybackup would then
internally use pg_waldump for the checks based on this data.

When the timeline where the backup started was more than 1 with a
history file looked at for the manifest data generation, the calculation
of the WAL range for the first timeline to check was incorrect. The
previous logic used as start LSN the start position of the first
timeline, but it needs to use the start LSN of the backup. This would
cause failures with pg_verifybackup, or any tools making use of the
backup manifests.

This commit adds a test based on a logic using a self-promoted node,
making it rather cheap.

Author: Kyotaro Horiguchi
Discussion: https://postgr.es/m/20210818.143031.1867083699202617521.horikyota.ntt@gmail.com
Backpatch-through: 13

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/29f94232517bb5c5f22d1deebecfe2160711150f

Modified Files
--------------
src/backend/replication/backup_manifest.c | 15 +++++++++++----
src/bin/pg_verifybackup/t/007_wal.pl | 19 ++++++++++++++++++-
2 files changed, 29 insertions(+), 5 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message houzj.fnst@fujitsu.com 2021-08-23 03:41:22 RE: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
Previous Message Tom Lane 2021-08-22 21:40:36 Re: pgsql: psql: Add test for query canceling