Re: BUG #17485: Records missing from Primary Key index when doing REINDEX INDEX CONCURRENTLY

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Bruce Momjian <bruce@momjian.us>
Cc: Peter Geoghegan <pg@bowt.ie>, Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Andres Freund <andres@anarazel.de>, Andrey Borodin <x4mmm@yandex-team.ru>, Петър Славов <pet.slavov@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-05-26T03:39:20Z
Lists: pgsql-bugs
On Wed, May 25, 2022 at 11:17:33PM -0400, Bruce Momjian wrote:
> *  Caused by CREATE/REINDEX CONCURRENTLY

Yes.

> *  No way to detect which indexes were created concurrently
> *  amcheck will be required to find corrupt indexes (options?)

amcheck would help for btree, not the other AMs.  I am not sure but
there could be other symptoms that may not be detected by amcheck?

> *  Heap is fine, only index is corrupt

Yes.

> *  Bug since PG 14

14.0, yes.

> *  Not known why reports are only appearing now
> *  Feature will likely need to be removed rather than fixed

Trends go in this direction.  It does not seem like there is a
complete conclusion on this point, either.
--
Michael

Commits

  1. Revert changes to CONCURRENTLY that "sped up" Xmin advance

  2. Fix possible HOT corruption when RECENTLY_DEAD changes to DEAD while pruning.