| 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 |
| 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 |