From 5997a8f4d7478ae6bac4dab12ca1f883e41a7aa1 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Sun, 5 May 2019 23:31:58 -0700 Subject: [PATCH] Remove reindex_catalog test from test schedules. As none of the approaches for avoiding the deadlock issues seem promising enough, and all the expected reindex related changes have been made, apply 60c2951e1bab7e to master as well. Discussion: https://postgr.es/m/4622.1556982247@sss.pgh.pa.us --- src/test/regress/expected/reindex_catalog.out | 9 +++++++-- src/test/regress/parallel_schedule | 5 ----- src/test/regress/serial_schedule | 1 - src/test/regress/sql/reindex_catalog.sql | 9 +++++++-- 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 142616fccb..4b5fba4949 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 312b7c22c5..f23fe8d870 100644 --- a/src/test/regress/parallel_schedule +++ b/src/test/regress/parallel_schedule @@ -52,11 +52,6 @@ test: create_misc create_operator create_procedure # These depend on create_misc and create_operator test: create_index create_index_spgist create_view index_including index_including_gist -# ---------- -# Has to run in isolation, due to deadlock risk -# ---------- -test: reindex_catalog - # ---------- # Another group of parallel tests # ---------- diff --git a/src/test/regress/serial_schedule b/src/test/regress/serial_schedule index 9d44c31329..ca200eb599 100644 --- a/src/test/regress/serial_schedule +++ b/src/test/regress/serial_schedule @@ -66,7 +66,6 @@ test: create_index_spgist test: create_view test: index_including test: index_including_gist -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 2180ee5791..87ecf52244 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