Skip to content

Commit 8ad6c5d

Browse files
committed
Add HINT for restartpoint race with KeepFileRestoredFromArchive().
The five commits ending at cc2c7d6 closed this race condition for v15+. For v14 through v10, add a HINT to discourage studying the cosmetic problem. Reviewed by Kyotaro Horiguchi and David Steele. Discussion: https://postgr.es/m/20220731061747.GA3692882@rfd.leadboat.com
1 parent 6d9481c commit 8ad6c5d

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

src/backend/access/transam/xlog.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3481,7 +3481,10 @@ XLogFileInit(XLogSegNo logsegno, bool *use_existent, bool use_lock)
34813481
if (fd < 0)
34823482
ereport(ERROR,
34833483
(errcode_for_file_access(),
3484-
errmsg("could not open file \"%s\": %m", path)));
3484+
errmsg("could not open file \"%s\": %m", path),
3485+
(AmCheckpointerProcess() ?
3486+
errhint("This is known to fail occasionally during archive recovery, where it is harmless.") :
3487+
0)));
34853488

34863489
elog(DEBUG2, "done creating and filling new WAL file");
34873490

src/backend/storage/file/fd.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -834,7 +834,10 @@ durable_rename_excl(const char *oldfile, const char *newfile, int elevel)
834834
ereport(elevel,
835835
(errcode_for_file_access(),
836836
errmsg("could not link file \"%s\" to \"%s\": %m",
837-
oldfile, newfile)));
837+
oldfile, newfile),
838+
(AmCheckpointerProcess() ?
839+
errhint("This is known to fail occasionally during archive recovery, where it is harmless.") :
840+
0)));
838841
return -1;
839842
}
840843
unlink(oldfile);
@@ -844,7 +847,10 @@ durable_rename_excl(const char *oldfile, const char *newfile, int elevel)
844847
ereport(elevel,
845848
(errcode_for_file_access(),
846849
errmsg("could not rename file \"%s\" to \"%s\": %m",
847-
oldfile, newfile)));
850+
oldfile, newfile),
851+
(AmCheckpointerProcess() ?
852+
errhint("This is known to fail occasionally during archive recovery, where it is harmless.") :
853+
0)));
848854
return -1;
849855
}
850856
#endif

0 commit comments

Comments
 (0)