Re: nbtree VACUUM's REDO routine doesn't clear page's VACUUM cycle ID

From: "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: nbtree VACUUM's REDO routine doesn't clear page's VACUUM cycle ID
Date: 2024-11-20 09:40:09
Message-ID: 81659D22-A31A-4866-A124-4E55E382E5D0@yandex-team.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 15 Nov 2024, at 21:33, Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
>
> Attached patch teaches btree_xlog_vacuum, nbtree VACUUM's REDO
> routine, to reset the target page's opaque->btpo_cycleid to 0. This
> makes the REDO routine match original execution, which seems like a
> good idea on consistency grounds.
>
> I propose this for the master branch only.

The change seems correct to me: anyway cycle must be less than cycle of any future vacuum after promotion. I cannot say anything about beauty of resetting or not resetting the field.
I'd suggest renaming the field into something like "btpo_split_vaccycleid". I was aware of index vacuum backtracking, but it took me a while to build context again.

Best regards, Andrey Borodin.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Toto guyoyg 2024-11-20 10:11:04 Planner picks n² query plan when available
Previous Message Daniel Gustafsson 2024-11-20 09:12:27 Re: A way to build PSQL 17.1 source on AIX platform