Skip to content

Commit 60c2951

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 69fc943 commit 60c2951

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
@@ -57,11 +57,6 @@ test: create_misc create_operator create_procedure
5757
# These depend on the above two
5858
test: create_index create_view index_including
5959

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

src/test/regress/serial_schedule

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ test: create_procedure
6767
test: create_index
6868
test: index_including
6969
test: create_view
70-
test: reindex_catalog
7170
test: create_aggregate
7271
test: create_function_3
7372
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)