diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 6c9935c5f58a1da4b2fac33174fab239e1b65c39..abc525a266ffafd3320dff1ca0a8481bbff3954d 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -433,7 +433,6 @@ typedef struct XLogCtlData * recovery. Protected by info_lck. */ bool SharedRecoveryInProgress; - bool SharedInArchiveRecovery; /* * SharedHotStandbyActive indicates if we're still in crash or archive @@ -620,7 +619,6 @@ static bool bgwriterLaunched = false; static void readRecoveryCommandFile(void); static void exitArchiveRecovery(TimeLineID endTLI, XLogSegNo endLogSegNo); -static bool ArchiveRecoveryInProgress(void); static bool recoveryStopsHere(XLogRecord *record, bool *includeThis); static void recoveryPausesHere(void); static void SetLatestXTime(TimestampTz xtime); @@ -2925,7 +2923,7 @@ RemoveOldXlogFiles(XLogSegNo segno, XLogRecPtr endptr) strspn(xlde->d_name, "0123456789ABCDEF") == 24 && strcmp(xlde->d_name + 8, lastoff + 8) <= 0) { - if (ArchiveRecoveryInProgress() || XLogArchiveCheckDone(xlde->d_name)) + if (XLogArchiveCheckDone(xlde->d_name)) { snprintf(path, MAXPGPATH, XLOGDIR "/%s", xlde->d_name); @@ -3871,7 +3869,6 @@ XLOGShmemInit(void) */ XLogCtl->XLogCacheBlck = XLOGbuffers - 1; XLogCtl->SharedRecoveryInProgress = true; - XLogCtl->SharedInArchiveRecovery = false; XLogCtl->SharedHotStandbyActive = false; XLogCtl->WalWriterSleeping = false; XLogCtl->Insert.currpage = (XLogPageHeader) (XLogCtl->pages); @@ -4265,7 +4262,6 @@ readRecoveryCommandFile(void) /* Enable fetching from archive recovery area */ InArchiveRecovery = true; - XLogCtl->SharedInArchiveRecovery = true; /* * If user specified recovery_target_timeline, validate it or compute the @@ -4304,16 +4300,11 @@ exitArchiveRecovery(TimeLineID endTLI, XLogSegNo endLogSegNo) { char recoveryPath[MAXPGPATH]; char xlogpath[MAXPGPATH]; - /* use volatile pointer to prevent code rearrangement */ - volatile XLogCtlData *xlogctl = XLogCtl; /* * We are no longer in archive recovery state. */ InArchiveRecovery = false; - SpinLockAcquire(&xlogctl->info_lck); - xlogctl->SharedInArchiveRecovery = false; - SpinLockRelease(&xlogctl->info_lck); /* * Update min recovery point one last time. @@ -6110,25 +6101,6 @@ RecoveryInProgress(void) } } -/* - * Are we currently in archive recovery? In the startup process, you can just - * check InArchiveRecovery variable instead. - */ -static bool -ArchiveRecoveryInProgress() -{ - bool result; - /* use volatile pointer to prevent code rearrangement */ - volatile XLogCtlData *xlogctl = XLogCtl; - - /* spinlock is essential on machines with weak memory ordering! */ - SpinLockAcquire(&xlogctl->info_lck); - result = xlogctl->SharedInArchiveRecovery; - SpinLockRelease(&xlogctl->info_lck); - - return result; -} - /* * Is HotStandby active yet? This is only important in special backends * since normal backends won't ever be able to connect until this returns