Re: ThisTimeLineID in checkpointer and bgwriter processes

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: ThisTimeLineID in checkpointer and bgwriter processes
Дата
Msg-id 005a01cdde99$f4690be0$dd3b23a0$@kapila@huawei.com
обсуждение исходный текст
Ответ на ThisTimeLineID in checkpointer and bgwriter processes  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Ответы Re: ThisTimeLineID in checkpointer and bgwriter processes
Список pgsql-hackers
On Wednesday, December 19, 2012 9:30 PM Heikki Linnakangas wrote:
> In both checkpointer.c and bgwriter.c, we do this before entering the
> main loop:
> 
>         /*
>           * Use the recovery target timeline ID during recovery
>           */
>          if (RecoveryInProgress())
>                  ThisTimeLineID = GetRecoveryTargetTLI();
> 
> That seems reasonable. However, since it's only done once, when the
> process starts up, ThisTimeLineID is never updated in those processes,
> even though the startup process changes recovery target timeline.
> 
> That actually seems harmless to me, and I also haven't heard of any
> complaints of misbehavior in 9.1 or 9.2 caused by that. I'm not sure
> why
> we bother to set ThisTimeLineID in those processes in the first place.

This is used in RemoveOldXlogFiles(), so if during recovery when it's not
set and
this function gets called, it might have some problem. 
I think it could get called from CreateRestartPoint() during recovery.


With Regards,
Amit Kapila.




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

Предыдущее
От: Dave Page
Дата:
Сообщение: EDB hosted buildfarm animals - extended downtime
Следующее
От: Groshev Andrey
Дата:
Сообщение: Re: [GENERAL] trouble with pg_upgrade 9.0 -> 9.1