Re: recovery_min_apply_delay in archive recovery causes assertion failure in latch
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-10-17T05:35:13Z
Lists: pgsql-hackers
On Tue, Oct 08, 2019 at 02:18:00AM +0900, Fujii Masao wrote: > On Fri, Oct 4, 2019 at 9:03 PM Fujii Masao <masao.fujii@gmail.com> wrote: >> So archive recovery with recovery_min_apply_delay enabled would be >> intended configuration. My patch that changes archive recovery so that >> it always ignores thesetting might be in wrong direction. Maybe we should >> make recovery_min_apply_delay work properly even in archive recovery. >> Thought? > > Patch attached. This patch allows archive recovery with > recovery_min_apply_delay set, but not crash recovery. Right. In short it makes no sense to wait the delay when in crash recovery. After more testing I have been able to reproduce the failure myself. + /* nothing to do if crash recovery is requested */ + if (!ArchiveRecoveryRequested && !StandbyModeRequested) + return false; ArchiveRecoveryRequested will be set to true if recovery.signal or standby.signal are found, so it seems to me that you can make all those checks more simple by removing from the equation StandbyModeRequested, no? StandbyModeRequested is never set to true if ArchiveRecoveryRequested is not itself true. It would be nice to test some scenario within 002_archiving.pl. -- Michael
Commits
-
Fix failure of archive recovery with recovery_min_apply_delay enabled.
- 14c59185b24d 9.4.25 landed
- 1b2ba8874ad3 9.5.20 landed
- 579996bc2fc7 9.6.16 landed
- c455ee88ccae 10.11 landed
- f7b70700bc44 11.6 landed
- 9dfbf9a04398 12.1 landed
- ec1259e880dd 13.0 landed
-
Make crash recovery ignore recovery_min_apply_delay setting.
- 03666dfa1817 12.1 landed
- 9b95a36be8be 13.0 landed