Re: Back-patch of: avoid multiple hard links to same WAL file after a crash
Noah Misch <noah@leadboat.com>
On Sat, Apr 05, 2025 at 11:07:13AM -0400, Tom Lane wrote: > Michael Paquier <michael@paquier.xyz> writes: > > On Wed, Apr 02, 2025 at 05:29:00PM -0700, Noah Misch wrote: > >> Here it is. Making it fail three times took looping 1383s, 5841s, and 2594s. > >> Hence, it couldn't be expected to catch the regression before commit, but it > >> would have made sufficient buildfarm and CI noise in the day after commit. > > > Hmm. Not much of a fan of the addition of a test that has less than > > 1% of reproducibility for the problem, even if it's good to see that > > this can be made portable to run down to v13. > > Yeah, it's good to have a test but I doubt we should commit it. > Too many buildfarm cycles will be expended for too little result. Current extent of our archive recovery restartpoint test coverage: $ grep -c 'restartpoint starting' $(grep -rl 'restored log file' **/log) | grep -v :0 src/bin/pg_combinebackup/tmp_check/log/002_compare_backups_pitr1.log:1 src/test/recovery/tmp_check/log/020_archive_status_standby2.log:1 src/test/recovery/tmp_check/log/002_archiving_standby.log:1 src/test/recovery/tmp_check/log/020_archive_status_standby.log:1 src/test/recovery/tmp_check/log/035_standby_logical_decoding_standby.log:2 Since the 2025-02 releases made non-toy-size archive recoveries fail easily, that's not enough. If the proposed 3-second test is the wrong thing, what instead?
Commits
-
Test restartpoints in archive recovery.
- 4399d1055627 13.21 landed
- 41ffd9d6a724 14.18 landed
- e297ddcfb7d3 17.5 landed
- 91168a9ae38d 15.13 landed
- 4664de1826a8 16.9 landed
- 714bd9e3a733 18.0 landed
-
Reset InstallXLogFileSegmentActive after walreceiver self-initiated exit.
- 69a498eb6465 13.21 landed
- 3635a0a35aaf 14.18 landed
-
Skip WAL recycling and preallocation during archive recovery.
- a5b0c06daae9 13.21 landed
- 014a508009df 14.18 landed
- cc2c7d65fc27 15.0 cited
-
Don't ERROR on PreallocXlogFiles() race condition.
- cbed472a9341 13.21 landed
- 675b771ca5f2 14.18 landed
-
Revert "Add HINT for restartpoint race with KeepFileRestoredFromArchive()."
- e77d9cd4f52e 13.21 landed
- 47d2d2982729 14.18 landed
-
Remove XLogFileInit() ability to unlink a pre-existing file.
- d0b6acaf04a2 13.21 landed
- b494640e8297 14.18 landed
-
In XLogFileInit(), fix *use_existent postcondition to suit callers.
- 20e5ef3ca70c 13.21 landed
- 8967dddf086e 14.18 landed
-
Remove XLogFileInit() ability to skip ControlFileLock.
- df8ec9634ccd 13.21 landed
- 6b168c1299c5 14.18 landed
-
Replace durable_rename_excl() by durable_rename(), take two
- 26a79cbbdace 13.19 landed
- 1f95181b44c8 14.16 landed
- c1c9df3159cf 15.11 landed
- dac1ff30906b 16.0 landed
-
Add HINT for restartpoint race with KeepFileRestoredFromArchive().
- 8ad6c5dbbe5a 14.5 cited
-
Remove durable_rename_excl()
- eb64ceac7ec3 16.0 landed
- 2c902bbf1911 15.0 landed
-
Replace existing durable_rename_excl() calls with durable_rename()
- ccfbd9287d70 15.0 landed