Re: Problem while setting the fpw with SIGHUP
От | Michael Paquier |
---|---|
Тема | Re: Problem while setting the fpw with SIGHUP |
Дата | |
Msg-id | 20180327130226.GA1105@paquier.xyz обсуждение исходный текст |
Ответ на | Re: Problem while setting the fpw with SIGHUP (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>) |
Ответы |
Re: Problem while setting the fpw with SIGHUP
|
Список | pgsql-hackers |
On Tue, Mar 27, 2018 at 09:01:20PM +0900, Kyotaro HORIGUCHI wrote: > The current UpdateFullPageWrites is safe on standby and promotion > so what we should consider is only the non-standby case. I think > what we should do is just calling RecoveryInProgress() at the > beginning of CheckPointerMain, which is just the same thing with > InitPostgres, but before setting up signal handler to avoid > processing SIGHUP before being ready to insert xlog. Your proposal does not fix the issue for a checkpointer process started on a standby. After a promotion, if SIGHUP is issued with a change in full_page_writes, then the initialization of InitXLogInsert() would happen again in the critical section of UpdateFullPageWrites(). The window is rather small for normal promotions as the startup process requests a checkpoint which would do the initialization, and much larger for fallback_promote where the startup process is in charge of doing the end-of-recovery checkpoint. -- Michael
Вложения
В списке pgsql-hackers по дате отправления: