Re: pgsql: rm_cleanup functions need to be allowed to write WAL entries.
От
Simon Riggs
Тема
Re: pgsql: rm_cleanup functions need to be allowed to
write WAL entries.
Дата
Msg-id
1249725935.4839.129.camel@ebony.2ndQuadrant
Ответ на
pgsql: rm_cleanup functions need to be allowed to write WAL entries. (tgl@postgresql.org (Tom Lane))
Список
Дерево обсуждения
pgsql: rm_cleanup functions need to be allowed to write WAL entries. tgl@postgresql.org (Tom Lane)
Re: pgsql: rm_cleanup functions need to be allowed to
write WAL entries. Simon Riggs <simon@2ndQuadrant.com>
Re: pgsql: rm_cleanup functions need to be allowed to write WAL entries. Tom Lane <tgl@sss.pgh.pa.us>
Re: pgsql: rm_cleanup functions need to be allowed to
write WAL entries. Simon Riggs <simon@2ndQuadrant.com>
Re: pgsql: rm_cleanup functions need to be allowed to write WAL entries. Tom Lane <tgl@sss.pgh.pa.us>
Re: pgsql: rm_cleanup functions need to be allowed to
write WAL entries. Simon Riggs <simon@2ndQuadrant.com>
Re: pgsql: rm_cleanup functions need to be allowed to write WAL entries. Tom Lane <tgl@sss.pgh.pa.us>
Re: pgsql: rm_cleanup functions need to be
allowed to write WAL entries. Bruce Momjian <bruce@momjian.us>
Re: pgsql: rm_cleanup functions need to be allowed to write WAL entries. Tom Lane <tgl@sss.pgh.pa.us>
On Fri, 2009-08-07 at 19:29 +0000, Tom Lane wrote: > Log Message: > ----------- > rm_cleanup functions need to be allowed to write WAL entries. This oversight > appears to explain the recent reports of "PANIC: cannot make new WAL entries > during recovery". > > Modified Files: > -------------- > pgsql/src/backend/access/transam: > xlog.c (r1.345 -> r1.346) > (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c?r1=1.345&r2=1.346) I was just working on a patch after the comments yesterday, hadn't noticed you'd committed. The first chunk is exactly as I was going to suggest. Make an explicit state change in the startup process. Resetting it back seems fragile, since in crash recovery we call it again almost immediately during CreateCheckPoint(). That only works if LocalSetXLogInsertAllowed() has no side effects. I understand Heikki's wish to have safeguards in place, so we should document that LocalSetXLogInsertAllowed() can be executed twice without problem. -- Simon Riggs www.2ndQuadrant.com
В списке pgsql-committers по дате отправления
От: tgl@postgresql.org (Tom Lane)
Дата:
От: tgl@postgresql.org (Tom Lane)
Дата: