pgsql: Adjust pg_wal_replay_wait() procedure behavior on promoted stand

From: Alexander Korotkov <akorotkov(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Adjust pg_wal_replay_wait() procedure behavior on promoted stand
Date: 2024-08-10 18:43:36
Message-ID: E1scr3w-003bVZ-AQ@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Adjust pg_wal_replay_wait() procedure behavior on promoted standby

pg_wal_replay_wait() is intended to be called on standby. However, standby
can be promoted to primary at any moment, even concurrently with the
pg_wal_replay_wait() call. If recovery is not currently in progress
that doesn't mean the wait was unsuccessful. Thus, we always need to recheck
if the target LSN is replayed.

Reported-by: Kevin Hale Boyes
Discussion: https://postgr.es/m/CAPpHfdu5QN%2BZGACS%2B7foxmr8_nekgA2PA%2B-G3BuOUrdBLBFb6Q%40mail.gmail.com
Author: Alexander Korotkov

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/867d396ccd2a7f0ce55e1fa7ebda00bc8c81147b

Modified Files
--------------
doc/src/sgml/func.sgml | 9 +++++++
src/backend/commands/waitlsn.c | 42 +++++++++++++++++++++++-------
src/test/recovery/t/043_wal_replay_wait.pl | 15 +++++++++--
3 files changed, 55 insertions(+), 11 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2024-08-10 19:52:16 pgsql: Allow adjusting session_authorization and role in parallel worke
Previous Message John Naylor 2024-08-10 08:19:12 pgsql: Lower minimum maintenance_work_mem to 64kB