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

From: Iliia Khaprov <i(dot)khaprov(at)gmail(dot)com>
To: shihao zhong <zhong950419(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 06:14:51
Message-ID: CAFO+O_q_e_OEAoU4hpUQ384s+f+rjY-DPtj=q46p_=6kLvyu4w@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Thank you Shihao,

I will submit a patch.

Best regards,
Iliia

On Wed, Sep 30, 2026 at 7:00 AM shihao zhong <zhong950419(at)gmail(dot)com> wrote:

> 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

Browse pgsql-bugs by date

  From Date Subject
Previous 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