Re: [HACKERS] archive_timeout ignored directly after promotion

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: [HACKERS] archive_timeout ignored directly after promotion
Дата
Msg-id CAB7nPqR9SgsVCZyOtv5RB-u5nxVjCb2kHDJde9JRJGSAP2qcDg@mail.gmail.com
обсуждение исходный текст
Ответ на [HACKERS] archive_timeout ignored directly after promotion  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
On Thu, Jun 22, 2017 at 2:58 AM, Andres Freund <andres@anarazel.de> wrote:
> One easy way to fix that would be to just wakeup the checkpointer from
> the startup process once at the end of recovery, but it'd not be
> pretty.   I think it'd be better to change the
>                         do_restartpoint = RecoveryInProgress();
>
>                         /*
>                          * The end-of-recovery checkpoint is a real checkpoint that's
>                          * performed while we're still in recovery.
>                          */
>                         if (flags & CHECKPOINT_END_OF_RECOVERY)
>                                 do_restartpoint = false;
>
> into having a per-loop 'local_in_recovery' variable, that we turn off
> once a CHECKPOINT_END_OF_RECOVERY checkpoint is requested.
>
> Comments?

By Initializing this flag out of the for(;;) loop once, this could put
more control into the checkpointer logic so as no new restart points
can be generated after the end-of-recovery checkpoint. This way we
could replace the hack looking for DB_IN_ARCHIVE_RECOVERY in
CreateRestartPoint() by an error handling.
-- 
Michael



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Noah Misch
Дата:
Сообщение: Re: [HACKERS] Race conditions with WAL sender PID lookups
Следующее
От: Kyotaro HORIGUCHI
Дата:
Сообщение: Re: [HACKERS] Get stuck when dropping a subscription duringsynchronizing table