mirror of
https://github.com/postgres/postgres.git
synced 2025-05-08 07:21:33 +03:00
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
This commit is contained in:
parent
98e7234242
commit
1eadfbdd7e
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user