Re: VACUUM can finish an interrupted nbtree page split -- is that okay?
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2019-05-16T20:11:41Z
Lists: pgsql-hackers
On Thu, May 16, 2019 at 1:05 PM Peter Geoghegan <pg@bowt.ie> wrote: > Actually, now that I look back at how page deletion worked 5+ years > ago, I realize that I have this slightly wrong: the leaf level check > is not sufficient to figure out if the parent's right sibling is > pending deletion (which is represented explicitly as a half-dead > internal page prior to 9.4). All the same, I'm going to push ahead > with this patch. Bugfix commit efada2b8e92 was always about a bug in > 9.4 -- it had nothing to do with 9.3. I meant bugfix commit 8da31837803 (commit efada2b8e92 was the commit that had the bug in question). -- Peter Geoghegan
Commits
-
Remove extra nbtree half-dead internal page check.
- 3f58cc6dd8fc 12.0 landed
-
Note case where nbtree VACUUM finishes splits.
- 35bc0ec7c800 12.0 landed
-
Fix error when trying to delete page with half-dead left sibling.
- 8da31837803e 9.4.0 cited
-
Fix race condition in B-tree page deletion.
- efada2b8e920 9.4.0 cited