Re: Assertion failure in _bt_pagedel (leafblkno == scanblkno) after interrupted VACUUM

From: shihao zhong <zhong950419(at)gmail(dot)com>
To: Iliia Khaprov <i(dot)khaprov(at)gmail(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: Assertion failure in _bt_pagedel (leafblkno == scanblkno) after interrupted VACUUM
Date: 2026-09-30 04:59:54
Message-ID: CAGRkXqRWHoeAFjdEyRmirBjG-z-AijAOPVF6PGhwfuhO7apyTA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hi Iliia,

Thanks, I can reproduce this on master with your script.

_bt_pagedel() builds no descent stack when the page it is given is
already half-dead. If the right sibling of that page is empty too, it
steps right and builds the stack there. The assertion insisted that this
only happens for the initial page. That stopped being true once an
interrupted VACUUM could leave the initial page half-dead.

Feels like the right way is to remove the assertion.

Thanks,
Shihao

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message shihao zhong 2026-09-30 05:30:12 Re: BUG #19705: One NaN box makes a BRIN box_inclusion_ops index omit unrelated rows
Previous Message Paul Kim 2026-09-30 04:32:14 Re: REVOKE's CASCADE protection doesn't work with INHERITed table owners