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.
Re: pgsql: Avoid improbable PANIC during heap_update. |
| Список | 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 по дате отправления: