mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Add HINT for restartpoint race with KeepFileRestoredFromArchive().
The five commits ending at cc2c7d65fc
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
			
			
This commit is contained in:
		@@ -3436,7 +3436,10 @@ XLogFileInit(XLogSegNo logsegno, bool *use_existent, bool use_lock)
 | 
			
		||||
	if (fd < 0)
 | 
			
		||||
		ereport(ERROR,
 | 
			
		||||
				(errcode_for_file_access(),
 | 
			
		||||
				 errmsg("could not open file \"%s\": %m", path)));
 | 
			
		||||
				 errmsg("could not open file \"%s\": %m", path),
 | 
			
		||||
				 (AmCheckpointerProcess() ?
 | 
			
		||||
				  errhint("This is known to fail occasionally during archive recovery, where it is harmless.") :
 | 
			
		||||
				  0)));
 | 
			
		||||
 | 
			
		||||
	elog(DEBUG2, "done creating and filling new WAL file");
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -800,7 +800,10 @@ durable_rename_excl(const char *oldfile, const char *newfile, int elevel)
 | 
			
		||||
		ereport(elevel,
 | 
			
		||||
				(errcode_for_file_access(),
 | 
			
		||||
				 errmsg("could not link file \"%s\" to \"%s\": %m",
 | 
			
		||||
						oldfile, newfile)));
 | 
			
		||||
						oldfile, newfile),
 | 
			
		||||
				 (AmCheckpointerProcess() ?
 | 
			
		||||
				  errhint("This is known to fail occasionally during archive recovery, where it is harmless.") :
 | 
			
		||||
				  0)));
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
	unlink(oldfile);
 | 
			
		||||
@@ -810,7 +813,10 @@ durable_rename_excl(const char *oldfile, const char *newfile, int elevel)
 | 
			
		||||
		ereport(elevel,
 | 
			
		||||
				(errcode_for_file_access(),
 | 
			
		||||
				 errmsg("could not rename file \"%s\" to \"%s\": %m",
 | 
			
		||||
						oldfile, newfile)));
 | 
			
		||||
						oldfile, newfile),
 | 
			
		||||
				 (AmCheckpointerProcess() ?
 | 
			
		||||
				  errhint("This is known to fail occasionally during archive recovery, where it is harmless.") :
 | 
			
		||||
				  0)));
 | 
			
		||||
		return -1;
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user