Remove wal_level settings for subscribers in tap tests
Dear hackers,
While discussing [1]https://commitfest.postgresql.org/45/4273/, I found that in tap tests, wal_level was set to logical for
subscribers too. The setting is not needed for subscriber side, and it may cause
misunderstanding for newcomers. Therefore, I wanted to propose the patch which
removes unnecessary "allows_streaming => 'logical'".
I grepped with the string and checked the necessity of them one by one.
How do you think?
[1]: https://commitfest.postgresql.org/45/4273/
Best Regards,
Hayato Kuroda
FUJITSU LIMITED
Attachments:
0001-remove-unnecessary-wal_level-settings.patchapplication/octet-stream; name=0001-remove-unnecessary-wal_level-settings.patchDownload
From 87f0be5e29fb6d26aa7a59882aa22ebb306df446 Mon Sep 17 00:00:00 2001
From: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Date: Mon, 16 Oct 2023 10:09:04 +0000
Subject: [PATCH] remove unnecessary wal_level settings
---
src/test/recovery/t/035_standby_logical_decoding.pl | 2 +-
src/test/recovery/t/038_save_logical_slots_shutdown.pl | 2 +-
src/test/subscription/t/001_rep_changes.pl | 2 +-
src/test/subscription/t/002_types.pl | 2 +-
src/test/subscription/t/003_constraints.pl | 2 +-
src/test/subscription/t/004_sync.pl | 2 +-
src/test/subscription/t/005_encoding.pl | 1 -
src/test/subscription/t/006_rewrite.pl | 2 +-
src/test/subscription/t/007_ddl.pl | 2 +-
src/test/subscription/t/008_diff_schema.pl | 2 +-
src/test/subscription/t/009_matviews.pl | 2 +-
src/test/subscription/t/010_truncate.pl | 2 +-
src/test/subscription/t/011_generated.pl | 2 +-
src/test/subscription/t/012_collation.pl | 1 -
src/test/subscription/t/013_partition.pl | 4 ++--
src/test/subscription/t/014_binary.pl | 2 +-
src/test/subscription/t/015_stream.pl | 2 +-
src/test/subscription/t/016_stream_subxact.pl | 2 +-
src/test/subscription/t/017_stream_ddl.pl | 2 +-
src/test/subscription/t/018_stream_subxact_abort.pl | 2 +-
src/test/subscription/t/019_stream_subxact_ddl_abort.pl | 2 +-
src/test/subscription/t/020_messages.pl | 2 +-
src/test/subscription/t/021_twophase.pl | 2 +-
src/test/subscription/t/022_twophase_cascade.pl | 2 +-
src/test/subscription/t/023_twophase_stream.pl | 2 +-
src/test/subscription/t/024_add_drop_pub.pl | 2 +-
src/test/subscription/t/025_rep_changes_for_schema.pl | 2 +-
src/test/subscription/t/026_stats.pl | 2 +-
src/test/subscription/t/028_row_filter.pl | 2 +-
src/test/subscription/t/031_column_list.pl | 2 +-
src/test/subscription/t/032_subscribe_use_index.pl | 2 +-
src/test/subscription/t/100_bugs.pl | 4 ++--
32 files changed, 32 insertions(+), 34 deletions(-)
diff --git a/src/test/recovery/t/035_standby_logical_decoding.pl b/src/test/recovery/t/035_standby_logical_decoding.pl
index 480e6d6caa..ec002009db 100644
--- a/src/test/recovery/t/035_standby_logical_decoding.pl
+++ b/src/test/recovery/t/035_standby_logical_decoding.pl
@@ -293,7 +293,7 @@ $node_primary->wait_for_replay_catchup($node_standby);
#######################
# Initialize subscriber node
#######################
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
my %psql_subscriber = (
diff --git a/src/test/recovery/t/038_save_logical_slots_shutdown.pl b/src/test/recovery/t/038_save_logical_slots_shutdown.pl
index de19829560..ba95a71519 100644
--- a/src/test/recovery/t/038_save_logical_slots_shutdown.pl
+++ b/src/test/recovery/t/038_save_logical_slots_shutdown.pl
@@ -53,7 +53,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('sub');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create tables
diff --git a/src/test/subscription/t/001_rep_changes.pl b/src/test/subscription/t/001_rep_changes.pl
index 0a399cdb82..2c1c371377 100644
--- a/src/test/subscription/t/001_rep_changes.pl
+++ b/src/test/subscription/t/001_rep_changes.pl
@@ -15,7 +15,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/002_types.pl b/src/test/subscription/t/002_types.pl
index 6b5853b80b..eb022f0c6b 100644
--- a/src/test/subscription/t/002_types.pl
+++ b/src/test/subscription/t/002_types.pl
@@ -16,7 +16,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/003_constraints.pl b/src/test/subscription/t/003_constraints.pl
index 6e902360cc..8c84f1c777 100644
--- a/src/test/subscription/t/003_constraints.pl
+++ b/src/test/subscription/t/003_constraints.pl
@@ -15,7 +15,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Setup structure on publisher
diff --git a/src/test/subscription/t/004_sync.pl b/src/test/subscription/t/004_sync.pl
index ee07d28b37..94f6add337 100644
--- a/src/test/subscription/t/004_sync.pl
+++ b/src/test/subscription/t/004_sync.pl
@@ -15,7 +15,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->append_conf('postgresql.conf',
"wal_retrieve_retry_interval = 1ms");
$node_subscriber->start;
diff --git a/src/test/subscription/t/005_encoding.pl b/src/test/subscription/t/005_encoding.pl
index 2f0bf7730b..d069a71584 100644
--- a/src/test/subscription/t/005_encoding.pl
+++ b/src/test/subscription/t/005_encoding.pl
@@ -16,7 +16,6 @@ $node_publisher->start;
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
$node_subscriber->init(
- allows_streaming => 'logical',
extra => [ '--locale=C', '--encoding=LATIN1' ]);
$node_subscriber->start;
diff --git a/src/test/subscription/t/006_rewrite.pl b/src/test/subscription/t/006_rewrite.pl
index 8bc7e872d9..052f945f27 100644
--- a/src/test/subscription/t/006_rewrite.pl
+++ b/src/test/subscription/t/006_rewrite.pl
@@ -13,7 +13,7 @@ $node_publisher->init(allows_streaming => 'logical');
$node_publisher->start;
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
my $ddl = "CREATE TABLE test1 (a int, b text);";
diff --git a/src/test/subscription/t/007_ddl.pl b/src/test/subscription/t/007_ddl.pl
index cbdb5b66e4..d4d406fb0a 100644
--- a/src/test/subscription/t/007_ddl.pl
+++ b/src/test/subscription/t/007_ddl.pl
@@ -13,7 +13,7 @@ $node_publisher->init(allows_streaming => 'logical');
$node_publisher->start;
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
my $ddl = "CREATE TABLE test1 (a int, b text);";
diff --git a/src/test/subscription/t/008_diff_schema.pl b/src/test/subscription/t/008_diff_schema.pl
index c6e41b65b9..bb308070fe 100644
--- a/src/test/subscription/t/008_diff_schema.pl
+++ b/src/test/subscription/t/008_diff_schema.pl
@@ -15,7 +15,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/009_matviews.pl b/src/test/subscription/t/009_matviews.pl
index 38080b4313..95051da0b6 100644
--- a/src/test/subscription/t/009_matviews.pl
+++ b/src/test/subscription/t/009_matviews.pl
@@ -13,7 +13,7 @@ $node_publisher->init(allows_streaming => 'logical');
$node_publisher->start;
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
my $publisher_connstr = $node_publisher->connstr . ' dbname=postgres';
diff --git a/src/test/subscription/t/010_truncate.pl b/src/test/subscription/t/010_truncate.pl
index a5b6445392..5cd915a60c 100644
--- a/src/test/subscription/t/010_truncate.pl
+++ b/src/test/subscription/t/010_truncate.pl
@@ -15,7 +15,7 @@ $node_publisher->init(allows_streaming => 'logical');
$node_publisher->start;
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->append_conf('postgresql.conf',
qq(max_logical_replication_workers = 6));
$node_subscriber->start;
diff --git a/src/test/subscription/t/011_generated.pl b/src/test/subscription/t/011_generated.pl
index 7711be295a..447318a86a 100644
--- a/src/test/subscription/t/011_generated.pl
+++ b/src/test/subscription/t/011_generated.pl
@@ -15,7 +15,7 @@ $node_publisher->init(allows_streaming => 'logical');
$node_publisher->start;
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
my $publisher_connstr = $node_publisher->connstr . ' dbname=postgres';
diff --git a/src/test/subscription/t/012_collation.pl b/src/test/subscription/t/012_collation.pl
index 823550a31b..0e80c4d6e8 100644
--- a/src/test/subscription/t/012_collation.pl
+++ b/src/test/subscription/t/012_collation.pl
@@ -22,7 +22,6 @@ $node_publisher->start;
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
$node_subscriber->init(
- allows_streaming => 'logical',
extra => [ '--locale=C', '--encoding=UTF8' ]);
$node_subscriber->start;
diff --git a/src/test/subscription/t/013_partition.pl b/src/test/subscription/t/013_partition.pl
index 275fb3b525..66d4636074 100644
--- a/src/test/subscription/t/013_partition.pl
+++ b/src/test/subscription/t/013_partition.pl
@@ -15,11 +15,11 @@ $node_publisher->init(allows_streaming => 'logical');
$node_publisher->start;
my $node_subscriber1 = PostgreSQL::Test::Cluster->new('subscriber1');
-$node_subscriber1->init(allows_streaming => 'logical');
+$node_subscriber1->init();
$node_subscriber1->start;
my $node_subscriber2 = PostgreSQL::Test::Cluster->new('subscriber2');
-$node_subscriber2->init(allows_streaming => 'logical');
+$node_subscriber2->init();
$node_subscriber2->start;
my $publisher_connstr = $node_publisher->connstr . ' dbname=postgres';
diff --git a/src/test/subscription/t/014_binary.pl b/src/test/subscription/t/014_binary.pl
index e5ce849c19..b43f062033 100644
--- a/src/test/subscription/t/014_binary.pl
+++ b/src/test/subscription/t/014_binary.pl
@@ -16,7 +16,7 @@ $node_publisher->start;
# Create and initialize subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create tables on both sides of the replication
diff --git a/src/test/subscription/t/015_stream.pl b/src/test/subscription/t/015_stream.pl
index 603d00f9e7..8dee2c3eb9 100644
--- a/src/test/subscription/t/015_stream.pl
+++ b/src/test/subscription/t/015_stream.pl
@@ -131,7 +131,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/016_stream_subxact.pl b/src/test/subscription/t/016_stream_subxact.pl
index 9a2f06f272..04610316d8 100644
--- a/src/test/subscription/t/016_stream_subxact.pl
+++ b/src/test/subscription/t/016_stream_subxact.pl
@@ -84,7 +84,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/017_stream_ddl.pl b/src/test/subscription/t/017_stream_ddl.pl
index d00ede44ed..e1c107f2c0 100644
--- a/src/test/subscription/t/017_stream_ddl.pl
+++ b/src/test/subscription/t/017_stream_ddl.pl
@@ -20,7 +20,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/018_stream_subxact_abort.pl b/src/test/subscription/t/018_stream_subxact_abort.pl
index 201138882c..7404a950bb 100644
--- a/src/test/subscription/t/018_stream_subxact_abort.pl
+++ b/src/test/subscription/t/018_stream_subxact_abort.pl
@@ -135,7 +135,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/019_stream_subxact_ddl_abort.pl b/src/test/subscription/t/019_stream_subxact_ddl_abort.pl
index 1ad7ace84a..4abe6befe2 100644
--- a/src/test/subscription/t/019_stream_subxact_ddl_abort.pl
+++ b/src/test/subscription/t/019_stream_subxact_ddl_abort.pl
@@ -21,7 +21,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/020_messages.pl b/src/test/subscription/t/020_messages.pl
index 826d39cd89..6e51d15608 100644
--- a/src/test/subscription/t/020_messages.pl
+++ b/src/test/subscription/t/020_messages.pl
@@ -16,7 +16,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create some preexisting content on publisher
diff --git a/src/test/subscription/t/021_twophase.pl b/src/test/subscription/t/021_twophase.pl
index 8ce4cfc983..1f06128afb 100644
--- a/src/test/subscription/t/021_twophase.pl
+++ b/src/test/subscription/t/021_twophase.pl
@@ -21,7 +21,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->append_conf('postgresql.conf',
qq(max_prepared_transactions = 10));
$node_subscriber->start;
diff --git a/src/test/subscription/t/022_twophase_cascade.pl b/src/test/subscription/t/022_twophase_cascade.pl
index b37ed95c9e..d1a59f41f2 100644
--- a/src/test/subscription/t/022_twophase_cascade.pl
+++ b/src/test/subscription/t/022_twophase_cascade.pl
@@ -39,7 +39,7 @@ logical_decoding_work_mem = 64kB
$node_B->start;
# node_C
my $node_C = PostgreSQL::Test::Cluster->new('node_C');
-$node_C->init(allows_streaming => 'logical');
+$node_C->init();
$node_C->append_conf(
'postgresql.conf', qq(
max_prepared_transactions = 10
diff --git a/src/test/subscription/t/023_twophase_stream.pl b/src/test/subscription/t/023_twophase_stream.pl
index be9f2aab28..41c0c9da68 100644
--- a/src/test/subscription/t/023_twophase_stream.pl
+++ b/src/test/subscription/t/023_twophase_stream.pl
@@ -307,7 +307,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->append_conf(
'postgresql.conf', qq(
max_prepared_transactions = 10
diff --git a/src/test/subscription/t/024_add_drop_pub.pl b/src/test/subscription/t/024_add_drop_pub.pl
index 8614b1b5b3..5e07cc2321 100644
--- a/src/test/subscription/t/024_add_drop_pub.pl
+++ b/src/test/subscription/t/024_add_drop_pub.pl
@@ -15,7 +15,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Create table on publisher
diff --git a/src/test/subscription/t/025_rep_changes_for_schema.pl b/src/test/subscription/t/025_rep_changes_for_schema.pl
index 8543f52710..359aeeb8ad 100644
--- a/src/test/subscription/t/025_rep_changes_for_schema.pl
+++ b/src/test/subscription/t/025_rep_changes_for_schema.pl
@@ -15,7 +15,7 @@ $node_publisher->start;
# Create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
# Test replication with publications created using FOR TABLES IN SCHEMA
diff --git a/src/test/subscription/t/026_stats.pl b/src/test/subscription/t/026_stats.pl
index a033588008..86c5885afa 100644
--- a/src/test/subscription/t/026_stats.pl
+++ b/src/test/subscription/t/026_stats.pl
@@ -15,7 +15,7 @@ $node_publisher->start;
# Create subscriber node.
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
diff --git a/src/test/subscription/t/028_row_filter.pl b/src/test/subscription/t/028_row_filter.pl
index aec483f785..f9a8798a0f 100644
--- a/src/test/subscription/t/028_row_filter.pl
+++ b/src/test/subscription/t/028_row_filter.pl
@@ -14,7 +14,7 @@ $node_publisher->start;
# create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
my $publisher_connstr = $node_publisher->connstr . ' dbname=postgres';
diff --git a/src/test/subscription/t/031_column_list.pl b/src/test/subscription/t/031_column_list.pl
index dbff806040..7935ef45c3 100644
--- a/src/test/subscription/t/031_column_list.pl
+++ b/src/test/subscription/t/031_column_list.pl
@@ -14,7 +14,7 @@ $node_publisher->start;
# create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->append_conf('postgresql.conf',
qq(max_logical_replication_workers = 6));
$node_subscriber->start;
diff --git a/src/test/subscription/t/032_subscribe_use_index.pl b/src/test/subscription/t/032_subscribe_use_index.pl
index 880ef2d57a..8aa7ae044d 100644
--- a/src/test/subscription/t/032_subscribe_use_index.pl
+++ b/src/test/subscription/t/032_subscribe_use_index.pl
@@ -14,7 +14,7 @@ $node_publisher->start;
# create subscriber node
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
my $publisher_connstr = $node_publisher->connstr . ' dbname=postgres';
diff --git a/src/test/subscription/t/100_bugs.pl b/src/test/subscription/t/100_bugs.pl
index 4fabc44168..621639a453 100644
--- a/src/test/subscription/t/100_bugs.pl
+++ b/src/test/subscription/t/100_bugs.pl
@@ -24,7 +24,7 @@ $node_publisher->init(allows_streaming => 'logical');
$node_publisher->start;
my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
-$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->init();
$node_subscriber->start;
my $publisher_connstr = $node_publisher->connstr . ' dbname=postgres';
@@ -175,7 +175,7 @@ $node_pub_sub->init(allows_streaming => 'logical');
$node_pub_sub->start;
my $node_sub = PostgreSQL::Test::Cluster->new('testsubscriber1');
-$node_sub->init(allows_streaming => 'logical');
+$node_sub->init();
$node_sub->start;
# Create the tables in all nodes.
--
2.27.0
On Wed, Oct 18, 2023 at 02:59:52AM +0000, Hayato Kuroda (Fujitsu) wrote:
While discussing [1], I found that in tap tests, wal_level was set to logical for
subscribers too. The setting is not needed for subscriber side, and it may cause
misunderstanding for newcomers. Therefore, I wanted to propose the patch which
removes unnecessary "allows_streaming => 'logical'".
I grepped with the string and checked the necessity of them one by one.How do you think?
Hmm, okay. On top of your argument, this may be a good idea for a
different reason: it makes the tests a bit cheaper as "logical"
generates a bit more WAL. Still the gain is marginal.
--
Michael
On Wed, Oct 18, 2023 at 03:39:16PM +0900, Michael Paquier wrote:
Hmm, okay. On top of your argument, this may be a good idea for a
different reason: it makes the tests a bit cheaper as "logical"
generates a bit more WAL. Still the gain is marginal.
And applied this one.
--
Michael