GiST wal_consistency_checking issue

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: GiST wal_consistency_checking issue
Date: 2026-08-15 23:31:01
Message-ID: CAH2-WznbTsQCrjmd=eSawfPqcxCjSFUkk6Qzd3z+gpNte5i03Q@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

GiST produces wal_consistency_checking complaints whenever a
XLOG_GIST_DELETE record is replayed. The immediate problem is that
F_TUPLES_DELETED is set (set, *not* unset) within
gistRedoDeleteRecord, even though we do nothing with XLOG_GIST_DELETE
at the corresponding point of original execution, in gistprunepage.
The more fundamental problem is that we're using F_TUPLES_DELETED for
anything at all.

The purpose of XLOG_GIST_DELETE relates in some way to old style
VACUUM FULL. It's obviously useless now: there are 3 places that set
F_TUPLES_DELETED, but nothing ever tests whether it is set in any GiST
page's opaque area's flags field (barring pageinspect).

Attached patch marks F_TUPLES_DELETED deprecated, removes all of its
helper function-style macros, and removes all remaining callers of
those macros.

--
Peter Geoghegan

Attachment Content-Type Size
v1-0001-GiST-Deprecate-F_TUPLES_DELETED.patch application/octet-stream 2.8 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2026-08-15 23:38:44 Re: gistkillitems can LP_DEAD-mark the wrong tuples on a rescan
Previous Message Peter Geoghegan 2026-08-15 22:06:25 gistkillitems can LP_DEAD-mark the wrong tuples on a rescan