Re: A failure in prepared_xacts test

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Richard Guo <guofenglinux@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2024-04-29T05:11:00Z
Lists: pgsql-hackers
Michael Paquier <michael@paquier.xyz> writes:
> If you grep the source tree, you'd notice that a prepared transaction
> named gxid only exists in the 2PC tests of ECPG, in
> src/interfaces/ecpg/test/sql/twophase.pgc.  So the origin of the
> failure comes from a race condition due to test parallelization,
> because the scan of pg_prepared_xacts affects all databases with
> installcheck, and in your case it means that the scan of
> pg_prepared_xacts was running in parallel of the ECPG tests with an
> installcheck.

Up to now, we've only worried about whether tests running in parallel
within a single test suite can interact.  It's quite scary to think
that the meson setup has expanded the possibility of interactions
to our entire source tree.  Maybe that was a bad idea and we should
fix the meson infrastructure to not do that.  I fear that otherwise,
we'll get bit regularly by very-low-probability bugs of this kind.

			regards, tom lane



Commits

  1. Remove auth-options support from initdb

  2. Make two-phase tests of ECPG and main suite more concurrent-proof

  3. initdb: Add options --auth-local and --auth-host