]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Tweak TAP test for worker terminations in worker_spi
authorMichael Paquier <michael@paquier.xyz>
Tue, 17 Mar 2026 03:56:46 +0000 (12:56 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 17 Mar 2026 03:56:46 +0000 (12:56 +0900)
The test has been reported as having a race condition for the case of a
worker that should be terminated after a database rename.  Based on the
report received from buildfarm member jay, the database renamed is
accessed by a different session, preventing the ALTER DATABASE to
complete, ultimately failing the test.

Honestly, I am not completely sure what is the origin of this
disturbance, but two possibilities are an autovacuum or parallel worker
(due to debug_parallel_query being used by the host).  In order to
(hopefully) stabilize the test, autovacuum and debug_parallel_query are
now disabled in the configuration of the node used in the test.

The failure is hard to reproduce, so it will take a few weeks to make
sure that the test has become stable.  Let's see where it goes.

Reported-by: Aya Iwata <iwata.aya@fujitsu.com>
Discussion: https://postgr.es/m/OS3PR01MB8889505E2F3E443CCA4BD72EEA45A@OS3PR01MB8889.jpnprd01.prod.outlook.com

src/test/modules/worker_spi/t/002_worker_terminate.pl

index 6d379435598193f6f83ab401466411bad6e69576..6db80ffec88c0486993c9953628c07f39fb598f4 100644 (file)
@@ -59,6 +59,11 @@ sub run_bgworker_interruptible_test
 
 my $node = PostgreSQL::Test::Cluster->new('mynode');
 $node->init;
+$node->append_conf(
+       "postgresql.conf", qq(
+autovacuum = off
+debug_parallel_query = off
+));
 $node->start;
 
 # Check if the extension injection_points is available, as it may be