Re: pgsql: Avoid improbable PANIC during heap_update.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Avoid improbable PANIC during heap_update.
Date: 2022-09-30 21:52:30
Message-ID: 741234.1664574750@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

I wrote:
> 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.

Concretely, about like this.

regards, tom lane

Attachment Content-Type Size
fix-RelationGetBufferForTuple-some-more.patch text/x-diff 2.0 KB

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2022-09-30 21:56:11 Re: pgsql: Avoid improbable PANIC during heap_update.
Previous Message Peter Geoghegan 2022-09-30 21:39:20 Re: pgsql: Avoid improbable PANIC during heap_update.

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2022-09-30 21:56:11 Re: pgsql: Avoid improbable PANIC during heap_update.
Previous Message Peter Eisentraut 2022-09-30 21:51:04 Re: [RFC] building postgres with meson - v13