postgres.git / summary / log / commit / refs
commit 1eadfbdd7eb0679ba8d45787aa8b2f06e76de20a
Author: Robert Haas <rhaas@postgresql.org>
Date: Mon Feb 06 16:16:03 2023 +0000
First released in: 15.2
Reverted by: ecb01e6ebb5a (in 15.3)
Revert "Disable STARTUP_PROGRESS_TIMEOUT in standby mode."
This reverts commit 98e7234242a652497c99d4d0d6f2bf9a75d4e921. I
forgot that we're about to wrap a release, and this fix isn't
critical enough to justify committing it right before we wrap
a release.
Discussion: http://postgr.es/m/2676424.1675700113@sss.pgh.pa.us
src/backend/access/transam/xlogrecovery.c | 25 +++----------------------
src/backend/postmaster/startup.c | 30 +++---------------------------
src/include/postmaster/startup.h | 2 --
3 files changed, 6 insertions(+), 51 deletions(-)
diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c
index a0e984aae04..958e85366c1 100644
--- a/src/backend/access/transam/xlogrecovery.c
+++ b/src/backend/access/transam/xlogrecovery.c
@@ -383,7 +383,6 @@ static bool recoveryStopAfter;
/* prototypes for local functions */
static void ApplyWalRecord(XLogReaderState *xlogreader, XLogRecord *record, TimeLineID *replayTLI);
-static void EnableStandbyMode(void);
static void readRecoverySignalFile(void);
static void validateRecoveryParameters(void);
static bool read_backup_label(XLogRecPtr *checkPointLoc,
@@ -468,24 +467,6 @@ XLogRecoveryShmemInit(void)
ConditionVariableInit(&XLogRecoveryCtl->recoveryNotPausedCV);
}
-/*
- * A thin wrapper to enable StandbyMode and do other preparatory work as
- * needed.
- */
-static void
-EnableStandbyMode(void)
-{
- StandbyMode = true;
-
- /*
- * To avoid server log bloat, we don't report recovery progress in a
- * standby as it will always be in recovery unless promoted. We disable
- * startup progress timeout in standby mode to avoid calling
- * startup_progress_timeout_handler() unnecessarily.
- */
- disable_startup_progress_timeout();
-}
-
/*
* Prepare the system for WAL recovery, if needed.
*
@@ -619,7 +600,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
*/
InArchiveRecovery = true;
if (StandbyModeRequested)
- EnableStandbyMode();
+ StandbyMode = true;
/*
* When a backup_label file is present, we want to roll forward from
@@ -756,7 +737,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
{
InArchiveRecovery = true;
if (StandbyModeRequested)
- EnableStandbyMode();
+ StandbyMode = true;
}
/* Get the last valid checkpoint record. */
@@ -3134,7 +3115,7 @@ ReadRecord(XLogPrefetcher *xlogprefetcher, int emode,
(errmsg_internal("reached end of WAL in pg_wal, entering archive recovery")));
InArchiveRecovery = true;
if (StandbyModeRequested)
- EnableStandbyMode();
+ StandbyMode = true;
SwitchIntoArchiveRecovery(xlogreader->EndRecPtr, replayTLI);
minRecoveryPoint = xlogreader->EndRecPtr;
diff --git a/src/backend/postmaster/startup.c b/src/backend/postmaster/startup.c
index 5c856c5261b..f99186eab7d 100644
--- a/src/backend/postmaster/startup.c
+++ b/src/backend/postmaster/startup.c
@@ -314,22 +314,11 @@ startup_progress_timeout_handler(void)
startup_progress_timer_expired = true;
}
-void
-disable_startup_progress_timeout(void)
-{
- /* Feature is disabled. */
- if (log_startup_progress_interval == 0)
- return;
-
- disable_timeout(STARTUP_PROGRESS_TIMEOUT, false);
- startup_progress_timer_expired = false;
-}
-
/*
* Set the start timestamp of the current operation and enable the timeout.
*/
void
-enable_startup_progress_timeout(void)
+begin_startup_progress_phase(void)
{
TimestampTz fin_time;
@@ -337,6 +326,8 @@ enable_startup_progress_timeout(void)
if (log_startup_progress_interval == 0)
return;
+ disable_timeout(STARTUP_PROGRESS_TIMEOUT, false);
+ startup_progress_timer_expired = false;
startup_progress_phase_start_time = GetCurrentTimestamp();
fin_time = TimestampTzPlusMilliseconds(startup_progress_phase_start_time,
log_startup_progress_interval);
@@ -344,21 +335,6 @@ enable_startup_progress_timeout(void)
log_startup_progress_interval);
}
-/*
- * A thin wrapper to first disable and then enable the startup progress
- * timeout.
- */
-void
-begin_startup_progress_phase(void)
-{
- /* Feature is disabled. */
- if (log_startup_progress_interval == 0)
- return;
-
- disable_startup_progress_timeout();
- enable_startup_progress_timeout();
-}
-
/*
* Report whether startup progress timeout has occurred. Reset the timer flag
* if it did, set the elapsed time to the out parameters and return true,
diff --git a/src/include/postmaster/startup.h b/src/include/postmaster/startup.h
index 12897531c39..d66ec1fcb12 100644
--- a/src/include/postmaster/startup.h
+++ b/src/include/postmaster/startup.h
@@ -32,8 +32,6 @@ extern void PostRestoreCommand(void);
extern bool IsPromoteSignaled(void);
extern void ResetPromoteSignaled(void);
-extern void enable_startup_progress_timeout(void);
-extern void disable_startup_progress_timeout(void);
extern void begin_startup_progress_phase(void);
extern void startup_progress_timeout_handler(void);
extern bool has_startup_progress_timeout_expired(long *secs, int *usecs);
[parent: 98e7234242a6]