Re: BUG #17485: Records missing from Primary Key index when doing REINDEX INDEX CONCURRENTLY
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Peter Geoghegan <pg@bowt.ie>, Michael Paquier <michael@paquier.xyz>, Andrey Borodin <x4mmm@yandex-team.ru>, Петър Славов <pet.slavov@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-05-24T18:37:05Z
Lists: pgsql-bugs
Hi, On 2022-05-24 11:15:42 -0700, Andres Freund wrote: > I suspect the problem might be related to pruning done during the validation > scan. Once PROC_IN_SAFE_IC is set, the backend itself will not preserve tids > its own snapshot might need. Which will wreak havoc during the validation > scan. Looking at it more, I don't see when PROC_IN_SAFE_IC is safe as defined, tbh. Afaict it basically completely breaks snapshots - which we rely on to work for both the initial build scan and then for the validation scan. It seems safe to make CIC to ignore other CICs when deciding whether to wait for those transactions. But it seems utterly unsafe to ignore CICs when when determining horizons. Greetings, Andres Freund
Commits
-
Revert changes to CONCURRENTLY that "sped up" Xmin advance
- e28bb8851969 15.0 landed
- 042b584c7f7d 14.4 landed
-
Fix possible HOT corruption when RECENTLY_DEAD changes to DEAD while pruning.
- 18b87b201f73 15.0 cited