pgsql: Adjust pg_wal_replay_wait() procedure behavior on promoted stand - Mailing list pgsql-committers

From Alexander Korotkov
Subject pgsql: Adjust pg_wal_replay_wait() procedure behavior on promoted stand
Date
Msg-id E1scr3w-003bVZ-AQ@gemulon.postgresql.org
Whole thread Raw
List 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(-)


pgsql-committers by date:

Previous
From: John Naylor
Date:
Subject: pgsql: Lower minimum maintenance_work_mem to 64kB
Next
From: Tom Lane
Date:
Subject: pgsql: Allow adjusting session_authorization and role in parallel worke