Re: Fix gistkillitems & add regression test to microvacuum
Heikki Linnakangas <hlinnaka@iki.fi>
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Kirill Reshke <reshkekirill@gmail.com>,
Soumya S Murali <soumyamurali.work@gmail.com>
Cc: Andrey Borodin <x4mmm@yandex-team.ru>,
pgsql-hackers <pgsql-hackers@postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2026-07-07T18:22:15Z
Lists: pgsql-hackers
On 18/03/2026 07:42, Kirill Reshke wrote: > On Wed, 11 Feb 2026 at 17:18, Soumya S Murali > <soumyamurali.work@gmail.com> wrote: >> Thank you for the updated patch. >> I reproduced the issue locally by filling a GiST root page, deleting >> all tuples, and triggering a microvacuum by an index-only scan. >> With the patch, The root page is now handled consistently with other >> leaf pages. so->curBlkno and so->curPageLSN are properly set during >> scan, and gistkillitems() operates safely and correctly on the root >> page. >> Based on runtime validation and code inspection, the fix LGTM. > > Rebased due to f5eb854ab6d[0] > > I have added a [0]committer to CC. > > Andres, can you please take a look at this thread, if by chance you > have spare time for it? You have changed kill tuples-related logic > frequently, so you might be interested... Looks good to me. It's natural to set curBlkNo in gistScanPage(), because that's where curPageLSN is set too. Committed, but I refrained from backpatching this for now, since it's a pretty harmless bug. We could do that later if needed. Thanks! - Heikki
Commits
-
Fix use of wrong variable in _hash_kill_items()
- f5eb854ab6d6 19 (unreleased) cited