Re: [BUG] non archived WAL removed during production crash recovery
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Andres Freund <andres@anarazel.de>
Cc: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, masao.fujii@oss.nttdata.com, pgsql-bugs@lists.postgresql.org
Date: 2020-04-24T07:05:10Z
Lists: pgsql-bugs, pgsql-hackers
On Thu, Apr 23, 2020 at 06:48:56PM -0700, Andres Freund wrote: > But don't we pretty much know this already from the state of the system? > During crash recovery there's nothing running RemoveOldXLogFiles() but > the startup process. Right? And in DB_IN_ARCHIVE_RECOVERY it should only > happen as part of restartpoints (i.e. the checkpointer). > > Did you add the new shared state to avoid deducing things from the > "environment"? If so, it should really be mentioned in the commit > message & code. Because: Hmm. Sorry, I see your point. The key of the logic here is from XLogArchiveCheckDone() which could be called from other processes than the startup process. There is one code path at the end of a base backup for backup history files where not using a shared state would be a problem. -- Michael
Commits
-
Fix interpolation in test name.
- e16e9204692c 11.10 landed
- af2d09fa1c28 12.5 landed
- 6fb1c5b52826 13.0 landed
- 47a3a1c3d498 14.0 landed
-
Add more TAP coverage for archive status with crash recovery of standbys
- ebf6de869276 13.0 landed
-
Fix handling of WAL segments ready to be archived during crash recovery
- 9eff11653962 9.5.22 landed
- c2d8ae0dfe84 9.6.18 landed
- 02657c42199c 10.13 landed
- 2d24ca00b750 11.8 landed
- 22db5269bfa1 12.3 landed
- 4e87c4836ab9 13.0 landed
-
Fix WAL recycling on standbys depending on archive_mode
- 78ea8b5daab9 12.0 cited