postgresql/src/test/regress
Michael Paquier 7e61e4cc7c Make two-phase tests of ECPG and main suite more concurrent-proof
The ECPG and main 2PC tests have been using rather-generic names for the
prepared transactions they generate.  This commit switches the 2PC
transactions to use more complex GIDs, reducing the risk of naming
conflicts.

The main 2PC tests also include scans of pg_prepared_xacts that do not
apply filters on the GID of the prepared transactions, making it
possible to fail the test when any 2PC transaction runs concurrently.
The CI has been able to see such failures with an installcheck
running the ECPG and the main regression test suites in parallel.  The
queries on pg_prepared_xacts gain quals to only look after the GIDs
generated locally.

The race is very hard to reproduce, so no backbatch is done for now.

Reported-by: Richard Guo
Discussion: https://postgr.es/m/CAMbWs4-mWCGbbE_bne5=AfqjYGDaUZmjCw2+soLjrdNA0xUDFw@mail.gmail.com
2024-04-29 21:10:41 +09:00
..
data Fix full text search to handle NOT above a phrase search correctly. 2020-04-27 12:21:04 -04:00
expected Make two-phase tests of ECPG and main suite more concurrent-proof 2024-04-29 21:10:41 +09:00
sql Make two-phase tests of ECPG and main suite more concurrent-proof 2024-04-29 21:10:41 +09:00
.gitignore Fix inconsistencies and typos in the tree, take 10 2019-08-13 13:53:41 +09:00
GNUmakefile Update copyright for 2024 2024-01-03 20:49:05 -05:00
Makefile Remove AIX support 2024-02-28 15:17:23 +04:00
README
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00
parallel_schedule Implement ALTER TABLE ... SPLIT PARTITION ... command 2024-04-07 01:18:44 +03:00
pg_regress.c pg_regress: Save errno in emit_tap_output_v() and switch to %m 2024-04-04 11:33:07 +09:00
pg_regress.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_regress_main.c Fix handling of expecteddir in pg_regress 2024-03-15 17:02:07 +01:00
regress.c Mop-up for AIX-ectomy: remove now-dead test code. 2024-02-28 14:34:19 -05:00
regressplans.sh Fix inconsistencies in the code 2019-07-08 13:15:09 +09:00
resultmap Remove HP-UX port. 2022-07-08 14:05:05 +12:00

README

Documentation concerning how to run these regression tests and interpret
the results can be found in the PostgreSQL manual, in the chapter
"Regression Tests".