On Mon, Aug 23, 2021 at 10:38:00PM +0500, Andrey Borodin wrote:
> > 22 авг. 2021 г., в 22:42, Andrey Borodin <x4mmm@yandex-team.ru> написал(а):
> > Currently when testing combination of all fixes I observe things like
> > 'error running SQL: 'psql:<stdin>:1: ERROR: prepared transaction with identifier "a" is busy''
> > Looks like kind of race condition in tests.
>
> There was a race condition in deterministic 2PC test. Fixed with synchronisation points.
> PFA patches that work on my machines.
> I'm going to start fixing review notes if it will not break until tomorrow.
That is great news.
> BTW are subtransaction anything special wrt CIC? is it worth to sprinkle some SAVEPOINTs here and there, just to be
sure?
Not especially. The AssignTransactionId() "Ensure parent(s) have XIDs"
behavior may be important to CIC. In the test pgbench runs for scripts
002_pgbench_concurrent_2pc and 002_pgbench_concurrent_transaction, it likely
wouldn't hurt to pass two equal-weight test scripts, one of which uses
savepoints.