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-24T16:37:02Z
Lists: pgsql-bugs
Hi,

On 2022-05-24 11:02:12 +0200, Alvaro Herrera wrote:
> On 2022-May-23, Peter Geoghegan wrote:
> 
> > You seem to be addressing this PROC_IN_SAFE_IC snippet as if Andrey
> > formally proposed it as a bugfix, which seems like an odd
> > interpretation to me. It seems pretty clear to me that Andrey was just
> > making an observation, in case it helped with debugging.
> 
> Right.
> 
> I approached it yesterday by running the test case with each
> set_indexsafe_procflags() callsite commented out, see which one breaks
> things.  Didn't reach any conclusion because I ran into thermal problems
> with my laptop, which got me angry and couldn't make any further
> progress.

Do we have any idea what really causes the corruption?

One thing that'd be worth excluding is the use of parallel index builds.

Greetings,

Andres Freund



Commits

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

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