Re: pgsql: Avoid improbable PANIC during heap_update.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: pgsql: Avoid improbable PANIC during heap_update.
Дата
Msg-id 692791.1664573331@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: pgsql: Avoid improbable PANIC during heap_update.  (Jaime Casanova <jcasanov@systemguards.com.ec>)
Ответы Re: pgsql: Avoid improbable PANIC during heap_update.  (Peter Geoghegan <pg@bowt.ie>)
Re: pgsql: Avoid improbable PANIC during heap_update.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-committers
Jaime Casanova <jcasanov@systemguards.com.ec> writes:
> Just to confirm I saw this on RC1

Ugh ... I think I see the problem.  There's still one path through
RelationGetBufferForTuple that fails to guarantee that it's acquired
a vmbuffer pin if the all-visible flag becomes set in the otherBuffer.
Namely, if we're forced to extend the relation, then we deal with
vm pins when ConditionalLockBuffer(otherBuffer) fails ... but not
when it succeeds.  I think the fix is just to move the last
GetVisibilityMapPins call out of the "if
(unlikely(!ConditionalLockBuffer(otherBuffer)))" stanza.

It'd still be good to have a test case for this ...

            regards, tom lane



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: pgsql: Avoid improbable PANIC during heap_update.
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: pgsql: Avoid improbable PANIC during heap_update.