From: | Michael Paquier <michael(at)paquier(dot)xyz> |
---|---|
To: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: recovery_min_apply_delay in archive recovery causes assertion failure in latch |
Date: | 2019-10-17 05:35:13 |
Message-ID: | 20191017053513.GA17439@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
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(dot)fujii(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Munro | 2019-10-17 05:37:11 | Re: Proposal: Make use of C99 designated initialisers for nulls/values arrays |
Previous Message | Masahiko Sawada | 2019-10-17 05:25:52 | Re: [HACKERS] Block level parallel vacuum |