Re: PANIC in heap_delete during ALTER TABLE
Jeff Davis <pgsql@j-davis.com>
From: Jeff Davis <pgsql@j-davis.com>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Robins Tharakan <tharakan@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@postgresql.org>
Date: 2022-09-15T22:25:30Z
Lists: pgsql-bugs
On Thu, 2022-09-08 at 10:30 -0700, Jeff Davis wrote: > I wasn't able to repro on 13, but Robins' report indicates that it's > possible. I looked again, and I still can't find a way to repro on 13, specifically the sha1 you mentioned (7cdd0c2d7c). heap_delete() lets go of its exclusive lock (but not pin) in a couple places (just like on master). But it looks like all the places that set PD_ALL_VISIBLE are doing so under a cleanup lock (unlike master), which means that it can't change for the duration of heap_delete(). I'm hesitant to commit anything here if I can't repro the problem on 13. I must be missing something. Regards, Jeff Davis
Commits
-
Fix race condition where heap_delete() fails to pin VM page.
- cab72f0fd08c 12.13 landed
- 410c422b75ac 13.9 landed
- 21934612d86a 14.6 landed
- dd6070bc8173 15.0 landed
- 163b0993a162 16.0 landed
-
Avoid improbable PANIC during heap_update.
- 5f12bc94dcc6 12.7 cited
-
Remove tupgone special case from vacuumlazy.c.
- 8523492d4e34 14.0 cited