pgsql: Run catalog reindexing test from 3dbb317d32 serially,to avoid d - Mailing list pgsql-committers

From Andres Freund
Subject pgsql: Run catalog reindexing test from 3dbb317d32 serially,to avoid d
Date
Msg-id E1hLdls-0002Mx-Ba@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Run catalog reindexing test from 3dbb317d32 serially, to avoid deadlocks.

The tests turn out to cause deadlocks in some circumstances. Fairly
reproducibly so with -DRELCACHE_FORCE_RELEASE
-DCATCACHE_FORCE_RELEASE.  Some of the deadlocks may be hard to fix
without disproportionate measures, but others probably should be fixed
- but not in 12.

We discussed removing the new tests until we can fix the issues
underlying the deadlocks, but results from buildfarm animal
markhor (which runs with CLOBBER_CACHE_ALWAYS) indicates that there
might be a more severe, as of yet undiagnosed, issue (including on
stable branches) with reindexing catalogs. The failure is:
ERROR: could not read block 0 in file "base/16384/28025": read only 0 of 8192 bytes
Therefore it seems advisable to keep the tests.

It's not certain that running the tests in isolation removes the risk
of deadlocks. It's possible that additional locks are needed to
protect against a concurrent auto-analyze or such.

Per discussion with Tom Lane.

Discussion: https://postgr.es/m/28926.1556664156@sss.pgh.pa.us
Backpatch: 9.4-, like 3dbb317d3

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8e955f2120892bda2e4cd2018fbe39fc15a08bc6

Modified Files
--------------
src/test/regress/expected/create_index.out    | 18 --------------
src/test/regress/expected/reindex_catalog.out | 33 ++++++++++++++++++++++++
src/test/regress/parallel_schedule            |  5 ++++
src/test/regress/serial_schedule              |  1 +
src/test/regress/sql/create_index.sql         | 21 ----------------
src/test/regress/sql/reindex_catalog.sql      | 36 +++++++++++++++++++++++++++
6 files changed, 75 insertions(+), 39 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Run catalog reindexing test from 3dbb317d32 serially,to avoid d
Next
From: Andres Freund
Date:
Subject: pgsql: Fix unused variable compiler warning in !debug builds.