Re: checkpointer code behaving strangely on postmaster -T
От | Simon Riggs |
---|---|
Тема | Re: checkpointer code behaving strangely on postmaster -T |
Дата | |
Msg-id | CA+U5nMLtBrNSwY7espyJMkFLTD_7Bdesd84MCR0MDaExT+2dWA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: checkpointer code behaving strangely on postmaster -T (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
On 10 May 2012 16:14, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Alvaro Herrera <alvherre@commandprompt.com> writes: >> Excerpts from Tom Lane's message of jue may 10 02:27:32 -0400 2012: >>> Alvaro Herrera <alvherre@alvh.no-ip.org> writes: >> I noticed while doing some tests that the checkpointer process does not >> recover very nicely after a backend crashes under postmaster -T > >> It seems to me that the bug is in the postmaster state machine rather >> than checkpointer itself. After a few false starts, this seems to fix >> it: > >> --- a/src/backend/postmaster/postmaster.c >> +++ b/src/backend/postmaster/postmaster.c >> @@ -2136,6 +2136,8 @@ pmdie(SIGNAL_ARGS) >> signal_child(WalWriterPID, SIGTERM); >> if (BgWriterPID != 0) >> signal_child(BgWriterPID, SIGTERM); >> + if (FatalError && CheckpointerPID != 0) >> + signal_child(CheckpointerPID, SIGUSR2); > > Surely we do not want the checkpointer doing a shutdown checkpoint here. > If we need it to die immediately, SIGQUIT is the way. If we want a > shutdown checkpoint, that has to wait till after everything else is > known dead. So while I agree this may be a state machine bug, that > doesn't look like a good fix. Is this now fixed? You've made a few changes so I'm confused. Thanks. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: