On Mon, Jul 27, 2020 at 10:25 AM Alvaro Herrera <alvhe...@2ndquadrant.com> wrote: > (I was also considering whether it needs to be a loop to reobtain root > tuples, in case a concurrent transaction can create a new item while > we're checking that item; but I don't think that can really happen for > one individual tuple.)
I wonder if something like that is the underlying problem in a recent problem case involving a "REINDEX index pg_class_tblspc_relfilenode_index" command that runs concurrently with the regression tests: https://postgr.es/m/CAH2-WzmBxu4o=pmsniur+bwhqcgcmv_aolkuk6buu7nga6e...@mail.gmail.com We see a violation of the HOT invariant in this case, though only for a system catalog index, and only in fairly particular circumstances involving concurrency. -- Peter Geoghegan