Disable synchronize_seqscans in 027_stream_regress.pl.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 4 Apr 2022 16:38:51 +0000 (12:38 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 4 Apr 2022 16:38:51 +0000 (12:38 -0400)
This script runs the core regression tests with quite a small value of
shared_buffers, making it prone to breakage due to synchronize_seqscans
kicking in where the tests don't expect that.  Disable that feature to
stabilize the tests.

Discussion: https://postgr.es/m/1258185.1648876239@sss.pgh.pa.us

src/test/recovery/t/027_stream_regress.pl

index aa972f89584c6bc2f45eba92f1573c581ee374c1..be9799c0a4686c7f5cbd7670d3853a6c00ae60b0 100644 (file)
@@ -16,8 +16,14 @@ if (PostgreSQL::Test::Utils::has_wal_read_bug)
 # Initialize primary node
 my $node_primary = PostgreSQL::Test::Cluster->new('primary');
 $node_primary->init(allows_streaming => 1);
+
+# Increase some settings that Cluster->new makes too low by default.
 $node_primary->adjust_conf('postgresql.conf', 'max_connections', '25');
 $node_primary->append_conf('postgresql.conf', 'max_prepared_transactions = 10');
+# We'll stick with Cluster->new's small default shared_buffers, but since that
+# makes synchronized seqscans more probable, it risks changing the results of
+# some test queries.  Disable synchronized seqscans to prevent that.
+$node_primary->append_conf('postgresql.conf', 'synchronize_seqscans = off');
 
 # WAL consistency checking is resource intensive so require opt-in with the
 # PG_TEST_EXTRA environment variable.