Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data

From: Noah Misch <noah(at)leadboat(dot)com>
To: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Geoghegan <pg(at)bowt(dot)ie>
Subject: Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data
Date: 2021-08-14 22:13:28
Message-ID: 20210814221328.GA146778@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Sun, Aug 08, 2021 at 09:37:52AM -0700, Noah Misch wrote:
> On Sun, Aug 08, 2021 at 04:31:07PM +0500, Andrey Borodin wrote:
> > Step 1. Test for CIC with regular transactions.
> > Step 2. Fix
> > Step 3. Test for CIC with 2PC
> > Step 4. Part of the fix that I'm sure about
> > Step 5. Dubious part of fix...

When I applied all five to commit b33259e^ (shortly before the PostgresNode
compatibility break) and ran your tests in a loop, I got more 2PC "lacks
matching index tuple" within one minute. Here's how I ran the tests:

make -j20 && while make -C contrib/amcheck check REGRESS= PROVE_FLAGS=--timer PROVE_TESTS='t/002_cic.pl t/003_cic_2pc.pl' NO_TEMP_INSTALL=1; do date; done

Do you see failures with that loop? If so, can you diagnose them? (So far,
I've not seen a failure from the 1PC test.)

On Thu, Jul 29, 2021 at 10:25:48PM -0400, Noah Misch wrote:
> I haven't checked whether other inval message types have the same hazard.

I will look into this next. (It probably doesn't explain 2PC failures.)

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Noah Misch 2021-08-15 08:45:35 Re: CREATE INDEX CONCURRENTLY does not index prepared xact's data
Previous Message David Christensen 2021-08-13 21:46:47 Re: BUG #17141: SELECT LIMIT WITH TIES FOR UPDATE SKIP LOCKED returns wrong number of rows