Re: Intermittent buildfarm failures on wrasse

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, David Rowley <dgrowleyml@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-04-14T00:17:00Z
Lists: pgsql-hackers
On Wed, Apr 13, 2022 at 4:51 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Yeah, we have band-aided around this type of problem repeatedly.
> Making a fix that's readily accessible from any test script
> seems like a good idea.

We might even be able to consistently rely on this new option, given
*any* problem involving test stability and VACUUM. Having a
one-size-fits-all solution to these kinds of stability problems would
be nice -- no more DISABLE_PAGE_SKIPPING bandaids.

That general approach will be possible provided an inability to
acquire a cleanup lock during VACUUM (which can more or less occur at
random in most environments) doesn't ever lead to unexpected test
results. There is good reason to think that it might work out that
way. Simulating problems with acquiring cleanup locks during VACUUM
left me with the impression that that could really work:

https://postgr.es/m/CAH2-WzkiB-qcsBmWrpzP0nxvrQExoUts1d7TYShg_DrkOHeg4Q@mail.gmail.com

--
Peter Geoghegan



Commits

  1. Repurpose PROC_COPYABLE_FLAGS as PROC_XMIN_FLAGS

  2. Tighten ComputeXidHorizons' handling of walsenders.

  3. Adjust VACUUM's removable cutoff log message.

  4. Temporarily add some probes of tenk1's relallvisible in create_index.sql.

  5. Set synchronous_commit=on in test_setup.sql.

  6. Rearrange core regression tests to reduce cross-script dependencies.

  7. snapshot scalability: Don't compute global horizons while building snapshots.