Re: gistkillitems can LP_DEAD-mark the wrong tuples on a rescan

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Subject: Re: gistkillitems can LP_DEAD-mark the wrong tuples on a rescan
Date: 2026-08-15 23:38:44
Message-ID: aoD4hAr8pD2DCj1n@paquier.xyz
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Aug 15, 2026 at 06:06:25PM -0400, Peter Geoghegan wrote:
> This is *probably* only a bug on master, since only master has commit
> 9c9ddf109, which taught gistkillitems to run against a single-page
> GiST index. However, we don't correctly reset the state on a rescan in
> any version, which seems dicey even without commit 9c9ddf109.

My buildfarm member batta is running recovery test 027 with
wal_consistency_checking, with:
PG_TEST_EXTRA => "regress_dump_restore wal_consistency_checking saslprep",

Based on the last reports, we have no failures:
https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=batta&br=master

If this was not caught, we have either:
- A problem in 027 itself, with coverage in the regression tests but
fail to detect the failure in the test. I recall that we are careful
about checking the standby state in 027 as an inconsistency would be
the same as a FATAL in a standby.
- Lack of coverage in the main regression test suite.

So, which one is it? Perhaps number 2), because such a test would be
expensive to run in the main regression test suite? It sounds to me
that we need a bit more than just your patch here.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2026-08-15 23:43:02 Re: gistkillitems can LP_DEAD-mark the wrong tuples on a rescan
Previous Message Peter Geoghegan 2026-08-15 23:31:01 GiST wal_consistency_checking issue