Re: Avoiding another needless ERROR during nbtree page deletion

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-05-25T22:40:16Z
Lists: pgsql-hackers
On Mon, May 22, 2023 at 10:59 AM Peter Geoghegan <pg@bowt.ie> wrote:
> Attached is v2, which does it that way. It also adjusts the approach
> taken to release locks and pins when the left sibling validation check
> fails.

I pushed this just now, backpatching all the way.

> Not including a revised amcheck patch here, since I'm not exactly sure
> what to do with your feedback on that one just yet.

I'd like to go with a minimal approach in my patch to address the
remaining issue in amcheck. Something similar to the patch that was
posted as part of v1. While it seems important to address the issue,
making sure that we have coverage of the leftmost page really being
half-dead (as opposed to something that would constitute corruption)
seems much less important. Ideally we'd have exhaustive coverage, but
it's not a priority for me right now.

--
Peter Geoghegan



Commits

  1. nbtree VACUUM: cope with right sibling link corruption.

  2. Backpatch nbtree page deletion hardening.

  3. nbtree VACUUM: Cope with buggy opclasses.