Skip to content

Commit 9c83398

Browse files
committed
Make the standby server promptly handle interrupt signals.
This commit changes the startup process in the standby server so that it handles the interrupt signals after waiting for wal_retrieve_retry_interval on the latch and resetting it, before entering another wait on the latch. This change causes the standby server to promptly handle interrupt signals. Otherwise, previously, there was the case where the standby needs to wait extra five seconds to shutdown when the shutdown request arrived while the startup process was waiting for wal_retrieve_retry_interval on the latch. Author: Fujii Masao, but implementation idea is from Soumyadeep Chakraborty Reviewed-by: Soumyadeep Chakraborty Discussion: https://postgr.es/m/9d7e6ab0-8a53-ddb9-63cd-289bcb25fe0e@oss.nttdata.com Per discussion of BUG #17073, back-patch to all supported versions. Discussion: https://postgr.es/m/17073-1a5fdaed0fa5d4d0@postgresql.org
1 parent 7b2262a commit 9c83398

File tree

1 file changed

+3
-0
lines changed
  • src/backend/access/transam

1 file changed

+3
-0
lines changed

src/backend/access/transam/xlog.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12161,6 +12161,9 @@ WaitForWALToBecomeAvailable(XLogRecPtr RecPtr, bool randAccess,
1216112161
wait_time, WAIT_EVENT_RECOVERY_WAL_STREAM);
1216212162
ResetLatch(&XLogCtl->recoveryWakeupLatch);
1216312163
now = GetCurrentTimestamp();
12164+
12165+
/* Handle interrupt signals of startup process */
12166+
HandleStartupProcInterrupts();
1216412167
}
1216512168
last_fail_time = now;
1216612169
currentSource = XLOG_FROM_ARCHIVE;

0 commit comments

Comments
 (0)