pgsql: Tweak pg_promote() to report failures on kill() or postmaster fa

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Tweak pg_promote() to report failures on kill() or postmaster fa
Date: 2023-08-28 23:45:24
Message-ID: E1qalvA-001QcE-52@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Tweak pg_promote() to report failures on kill() or postmaster failures

Since its introduction in 10074651e335, pg_promote() has been returning
a false status in three cases:
- SIGUSR1 not sent to the postmaster process.
- Postmaster death during standby promotion.
- Standby not promoted within the specified wait time.

An application calling this function will have a hard time understanding
what a false state returned actually means.

Per discussion, this switches the two first states to fail rather than
return a "false" status, making the second case more consistent with the
existing CHECK_FOR_INTERRUPTS in the wait loop. False is only returned
when the promotion is not completed within the specified time (60s by
default).

Author: Ashutosh Sharma
Reviewed-by: Fujii Masao, Laurenz Albe, Michael Paquier
Discussion: https://postgr.es/m/CAE9k0P=QTrwptL0t4J0fuBRDDjgsT-0PVKd-ikd96i1hyL7Bcg@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f593c5517d14a949ae659eec470eb6bc0d2fdd5d

Modified Files
--------------
src/backend/access/transam/xlogfuncs.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2023-08-29 06:13:43 pgsql: Initialize ListenSocket array earlier.
Previous Message Tom Lane 2023-08-28 20:28:04 pgsql: Stamp 16rc1.