Skip to content

Commit 70200d0

Browse files
committed
Remove reindex_catalog test from test schedules.
As the test currently causes occasional deadlocks (due to the schema cleanup from previous sessions potentially still running), and the patch from f912d7d has gotten a fair bit of buildfarm coverage, remove the test from the test schedules. There's a set of minor releases coming up. Leave the tests in place, so it can manually be run using EXTRA_TESTS. For now also leave it in master, as there's no imminent release, and there's plenty (re-)index related work in 12. But we'll have to disable it before long there too, unless somebody comes up with simple enough fixes for the deadlock (I'm about to post a vague idea to the list). Discussion: https://postgr.es/m/4622.1556982247@sss.pgh.pa.us Backpatch: 9.4-11 (no master!)
1 parent 21de9ae commit 70200d0

File tree

4 files changed

+14
-10
lines changed

4 files changed

+14
-10
lines changed

src/test/regress/expected/reindex_catalog.out

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
--
22
-- Check that system tables can be reindexed.
33
--
4-
-- Note that this test currently has to run without parallel tests
5-
-- being scheduled, as currently reindex catalog tables can cause
4+
-- Note that this test currently is not included in the default
5+
-- schedules, as currently reindexing catalog tables can cause
66
-- deadlocks:
77
--
88
-- * The lock upgrade between the ShareLock acquired for the reindex
@@ -16,6 +16,11 @@
1616
-- tables are routinely released before commit - therefore the lock
1717
-- held for reindexing doesn't guarantee that no running transaction
1818
-- performed modifications in the table underlying the index.
19+
--
20+
-- This is particularly problematic as such conflicts can be
21+
-- triggered even when run in isolation, as a previous session's
22+
-- temporary table cleanup might still be running (even when the
23+
-- session ended from a client perspective).
1924
-- Check reindexing of whole tables
2025
REINDEX TABLE pg_class; -- mapped, non-shared, critical
2126
REINDEX TABLE pg_index; -- non-mapped, non-shared, critical

src/test/regress/parallel_schedule

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,6 @@ test: create_misc create_operator
5656
# These depend on the above two
5757
test: create_index create_view
5858

59-
# ----------
60-
# Has to run in isolation, due to deadlock risk
61-
# ----------
62-
test: reindex_catalog
63-
6459
# ----------
6560
# Another group of parallel tests
6661
# ----------

src/test/regress/serial_schedule

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ test: create_misc
6060
test: create_operator
6161
test: create_index
6262
test: create_view
63-
test: reindex_catalog
6463
test: create_aggregate
6564
test: create_function_3
6665
test: create_cast

src/test/regress/sql/reindex_catalog.sql

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
--
22
-- Check that system tables can be reindexed.
33
--
4-
-- Note that this test currently has to run without parallel tests
5-
-- being scheduled, as currently reindex catalog tables can cause
4+
-- Note that this test currently is not included in the default
5+
-- schedules, as currently reindexing catalog tables can cause
66
-- deadlocks:
77
--
88
-- * The lock upgrade between the ShareLock acquired for the reindex
@@ -16,6 +16,11 @@
1616
-- tables are routinely released before commit - therefore the lock
1717
-- held for reindexing doesn't guarantee that no running transaction
1818
-- performed modifications in the table underlying the index.
19+
--
20+
-- This is particularly problematic as such conflicts can be
21+
-- triggered even when run in isolation, as a previous session's
22+
-- temporary table cleanup might still be running (even when the
23+
-- session ended from a client perspective).
1924

2025

2126
-- Check reindexing of whole tables

0 commit comments

Comments
 (0)