summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund2019-05-06 06:31:58 +0000
committerAndres Freund2019-05-06 06:34:43 +0000
commit55eebb80005c34652234ff4a8db58914d83d47e6 (patch)
treef142f32f4a386aca738fb2ccdad55d336457b8aa
parentf729175259f59d4a396a3c0dd19cc87ad4ccf4aa (diff)
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 f912d7dec2 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!)
-rw-r--r--src/test/regress/expected/reindex_catalog.out9
-rw-r--r--src/test/regress/parallel_schedule5
-rw-r--r--src/test/regress/serial_schedule1
-rw-r--r--src/test/regress/sql/reindex_catalog.sql9
4 files changed, 14 insertions, 10 deletions
diff --git a/src/test/regress/expected/reindex_catalog.out b/src/test/regress/expected/reindex_catalog.out
index 142616fccbb..4b5fba49493 100644
--- a/src/test/regress/expected/reindex_catalog.out
+++ b/src/test/regress/expected/reindex_catalog.out
@@ -1,8 +1,8 @@
--
-- Check that system tables can be reindexed.
--
--- Note that this test currently has to run without parallel tests
--- being scheduled, as currently reindex catalog tables can cause
+-- Note that this test currently is not included in the default
+-- schedules, as currently reindexing catalog tables can cause
-- deadlocks:
--
-- * The lock upgrade between the ShareLock acquired for the reindex
@@ -16,6 +16,11 @@
-- tables are routinely released before commit - therefore the lock
-- held for reindexing doesn't guarantee that no running transaction
-- performed modifications in the table underlying the index.
+--
+-- This is particularly problematic as such conflicts can be
+-- triggered even when run in isolation, as a previous session's
+-- temporary table cleanup might still be running (even when the
+-- session ended from a client perspective).
-- Check reindexing of whole tables
REINDEX TABLE pg_class; -- mapped, non-shared, critical
REINDEX TABLE pg_index; -- non-mapped, non-shared, critical
diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule
index 16c300a435d..3815182fe7a 100644
--- a/src/test/regress/parallel_schedule
+++ b/src/test/regress/parallel_schedule
@@ -58,11 +58,6 @@ test: create_misc create_operator
test: create_index create_view
# ----------
-# Has to run in isolation, due to deadlock risk
-# ----------
-test: reindex_catalog
-
-# ----------
# Another group of parallel tests
# ----------
test: create_aggregate create_function_3 create_cast constraints triggers inherit create_table_like typed_table vacuum drop_if_exists updatable_views rolenames roleattributes create_am
diff --git a/src/test/regress/serial_schedule b/src/test/regress/serial_schedule
index 6a90a72c231..8958d8cdb9d 100644
--- a/src/test/regress/serial_schedule
+++ b/src/test/regress/serial_schedule
@@ -62,7 +62,6 @@ test: create_misc
test: create_operator
test: create_index
test: create_view
-test: reindex_catalog
test: create_aggregate
test: create_function_3
test: create_cast
diff --git a/src/test/regress/sql/reindex_catalog.sql b/src/test/regress/sql/reindex_catalog.sql
index 2180ee5791a..87ecf52244f 100644
--- a/src/test/regress/sql/reindex_catalog.sql
+++ b/src/test/regress/sql/reindex_catalog.sql
@@ -1,8 +1,8 @@
--
-- Check that system tables can be reindexed.
--
--- Note that this test currently has to run without parallel tests
--- being scheduled, as currently reindex catalog tables can cause
+-- Note that this test currently is not included in the default
+-- schedules, as currently reindexing catalog tables can cause
-- deadlocks:
--
-- * The lock upgrade between the ShareLock acquired for the reindex
@@ -16,6 +16,11 @@
-- tables are routinely released before commit - therefore the lock
-- held for reindexing doesn't guarantee that no running transaction
-- performed modifications in the table underlying the index.
+--
+-- This is particularly problematic as such conflicts can be
+-- triggered even when run in isolation, as a previous session's
+-- temporary table cleanup might still be running (even when the
+-- session ended from a client perspective).
-- Check reindexing of whole tables