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

Andrey Borodin <x4mmm@yandex-team.ru>

From: Andrey Borodin <x4mmm@yandex-team.ru>
To: Peter Geoghegan <pg@bowt.ie>
Cc: Noah Misch <noah@leadboat.com>, Michael Paquier <michael@paquier.xyz>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2021-08-02T12:45:54Z
Lists: pgsql-bugs

> 31 июля 2021 г., в 13:51, Peter Geoghegan <pg@bowt.ie> написал(а):
> 
> maybe use rr for this?
Thanks, Peter!
I'll give it a try.

Currently I observe that during PrepareTransaction() there might be a moment when the transaction is not reported by GetLockConflicts() with relevant lock.

I observe that PrepareTransaction() for violating xid is somewhere between
CallXactCallbacks(XACT_EVENT_PREPARE);
and
PostPrepare_PgStat();

And GetLockConflicts() fails to detect this transaction.

Thanks!

Best regards, Andrey Borodin.


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Improve contrib/amcheck's tests for CREATE INDEX CONCURRENTLY.

  2. Fix minor memory leaks in pg_dump.

  3. Avoid race in RelationBuildDesc() affecting CREATE INDEX CONCURRENTLY.

  4. Fix CREATE INDEX CONCURRENTLY for the newest prepared transactions.

  5. Add -w back to the flags for pg_ctl (re)start in PostgresNode

  6. Fix CREATE INDEX CONCURRENTLY for simultaneous prepared transactions.