Skip to content

Commit 15574e1

Browse files
authored
chore(stage7): merge lms_workers-default TAP rig follow-ups (PR #34)
t/004 positive lms-worker assertion + nine pre-pool rigs pinned to lms_workers=1 (first post-merge nightly fallout). Spec: spec-7.3-lms-worker-pool.md
2 parents d4228f4 + fa2c2dc commit 15574e1

10 files changed

Lines changed: 68 additions & 1 deletion

src/test/cluster_tap/t/004_backend_types.pl

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,21 @@
9595
q{SELECT count(*) FROM pg_stat_activity
9696
WHERE backend_type IN (
9797
'heartbeat', 'interconnect listener',
98-
'lms worker',
9998
'managed recovery process', 'recovery coordinator',
10099
'recovery worker', 'sinval broadcaster', 'tt gc')});
101100
is($pgrac_visible, '0',
102101
'no pgrac process descriptor visible except spawned skeletons (others deferred to Stage 2-6)');
103102

103+
# spec-7.3 D2: the LMS DATA-plane worker pool ships with a default of
104+
# cluster.lms_workers = 2 -- worker 0 stays the historic 'lms' process and
105+
# workers 1..N-1 run as 'lms worker' aux processes, so exactly ONE
106+
# 'lms worker' descriptor is a spawned skeleton now (not deferred).
107+
my $lms_worker_visible = $node->safe_psql(
108+
'postgres',
109+
q{SELECT count(*) FROM pg_stat_activity WHERE backend_type = 'lms worker'});
110+
is($lms_worker_visible, '1',
111+
'default LMS pool spawns exactly one lms worker aux process (spec-7.3 D2)');
112+
104113
# LMON is spawned by postmaster (spec-1.11 Sprint A). Verify it
105114
# appears in pg_stat_activity exactly once.
106115
my $lmon_visible = $node->safe_psql(

src/test/cluster_tap/t/078_ic_tier1_partial_send_recv.pl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ sub build_hello
6161
$node->append_conf('postgresql.conf', "cluster.enabled = on\n");
6262
$node->append_conf('postgresql.conf', "cluster.interconnect_tier = tier1\n");
6363
$node->append_conf('postgresql.conf', "cluster.node_id = 0\n");
64+
# spec-7.3 merge: this hand-rolled rig reserves ONE data port per node; the
65+
# shipped default cluster.lms_workers=2 binds [data_port, data_port+1] and
66+
# cross-wires consecutive free ports (HELLO DATA worker mismatch). Pin the
67+
# pool to one worker: N=1 is the spec-7.2 topology identity this rig was
68+
# written against.
69+
$node->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
6470
$node->append_conf('postgresql.conf', "cluster.allow_single_node = on\n");
6571

6672
# Declare 2 nodes so we can spoof "peer 1" connecting to "peer 0" (us).

src/test/cluster_tap/t/288_cf_enqueue_concurrent.pl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,13 @@ sub cf_counter
126126
$node0->append_conf('postgresql.conf', "cluster.node_id = 0\n");
127127
$node1->append_conf('postgresql.conf', $common_conf);
128128
$node1->append_conf('postgresql.conf', "cluster.node_id = 1\n");
129+
# spec-7.3 merge: this hand-rolled rig reserves ONE data port per node; the
130+
# shipped default cluster.lms_workers=2 binds [data_port, data_port+1] and
131+
# cross-wires consecutive free ports (HELLO DATA worker mismatch). Pin the
132+
# pool to one worker: N=1 is the spec-7.2 topology identity this rig was
133+
# written against.
134+
$node0->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
135+
$node1->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
129136

130137
my $pgrac_conf = <<EOC;
131138
[cluster]

src/test/cluster_tap/t/289_cf_bootstrap.pl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,13 @@
163163
$node0->append_conf('postgresql.conf', "cluster.node_id = 0\n");
164164
$node1->append_conf('postgresql.conf', $common_conf);
165165
$node1->append_conf('postgresql.conf', "cluster.node_id = 1\n");
166+
# spec-7.3 merge: this hand-rolled rig reserves ONE data port per node; the
167+
# shipped default cluster.lms_workers=2 binds [data_port, data_port+1] and
168+
# cross-wires consecutive free ports (HELLO DATA worker mismatch). Pin the
169+
# pool to one worker: N=1 is the spec-7.2 topology identity this rig was
170+
# written against.
171+
$node0->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
172+
$node1->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
166173

167174
my $pgrac_conf = <<EOC;
168175
[cluster]

src/test/cluster_tap/t/334_ic_rdma_soft_roce.pl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ sub command_exists
8989
for my $node ($pair->node0, $pair->node1)
9090
{
9191
$node->adjust_conf('postgresql.conf', 'cluster.interconnect_tier', 'tier3');
92+
# spec-7.3 merge: this rig rewrites pgrac.conf with ONE data port per
93+
# node; pin the pool to one worker (N=1 = spec-7.2 topology identity).
94+
$node->adjust_conf('postgresql.conf', 'cluster.lms_workers', '1');
9295
}
9396

9497
sub write_rdma_pgrac_conf

src/test/cluster_tap/t/335_adg_two_thread_rfs_apply.pl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,15 @@ sub wait_for_log_match_from
291291
'cluster.adg_rfs_conninfos = ' . quote_conf($rfs_conninfos) . "\n");
292292
$standby1->append_conf('postgresql.conf', $standby_common_conf);
293293
$standby1->append_conf('postgresql.conf', "cluster.node_id = 1\n");
294+
# spec-7.3 merge: this hand-rolled rig reserves ONE data port per node; the
295+
# shipped default cluster.lms_workers=2 binds [data_port, data_port+1] and
296+
# cross-wires consecutive free ports (HELLO DATA worker mismatch). Pin the
297+
# pool to one worker: N=1 is the spec-7.2 topology identity this rig was
298+
# written against.
299+
$primary0->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
300+
$primary1->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
301+
$standby0->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
302+
$standby1->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
294303
write_pair_conf($standby0, $standby1, 'adg2_standby');
295304

296305
$standby0->start;

src/test/cluster_tap/t/336_cluster_backup_pitr.pl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
$node->append_conf('postgresql.conf',
3535
"cluster.enabled = on\n"
3636
. "cluster.node_id = 0\n"
37+
. "cluster.lms_workers = 1\n"
3738
. "cluster.allow_single_node = on\n"
3839
. "wal_level = replica\n"
3940
. "archive_mode = on\n"
@@ -466,6 +467,7 @@ sub configure_pair_restore
466467
. "restore_command = 'cp $pair_archive/%f %p'\n"
467468
. "cluster.enabled = on\n"
468469
. "cluster.node_id = 0\n"
470+
. "cluster.lms_workers = 1\n"
469471
. "cluster.allow_single_node = on\n"
470472
. "cluster.voting_disks = ''\n"
471473
. "cluster.wal_threads_dir = ''\n"
@@ -605,6 +607,7 @@ sub wait_for_pair_restore_promotion
605607
$bad_target_node->append_conf('postgresql.conf',
606608
"cluster.enabled = on\n"
607609
. "cluster.node_id = 0\n"
610+
. "cluster.lms_workers = 1\n"
608611
. "cluster.allow_single_node = on\n"
609612
. "wal_level = replica\n"
610613
. "cluster.recovery_target_scn = '0'\n");
@@ -624,6 +627,7 @@ sub wait_for_pair_restore_promotion
624627
$multi_target_node->append_conf('postgresql.conf',
625628
"cluster.enabled = on\n"
626629
. "cluster.node_id = 0\n"
630+
. "cluster.lms_workers = 1\n"
627631
. "cluster.allow_single_node = on\n"
628632
. "wal_level = replica\n"
629633
. "cluster.recovery_target_scn = '1'\n"
@@ -645,6 +649,7 @@ sub wait_for_pair_restore_promotion
645649
$pin_node->append_conf('postgresql.conf',
646650
"cluster.enabled = on\n"
647651
. "cluster.node_id = 0\n"
652+
. "cluster.lms_workers = 1\n"
648653
. "cluster.allow_single_node = on\n"
649654
. "wal_level = replica\n"
650655
. "archive_mode = on\n"

src/test/cluster_tap/t/337_shared_catalog_ddl_2node.pl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,13 @@
201201
$node1->append_conf('postgresql.conf', $sc_common);
202202
$node1->append_conf('postgresql.conf', $cluster_conf);
203203
$node1->append_conf('postgresql.conf', "cluster.node_id = 1\n");
204+
# spec-7.3 merge: this hand-rolled rig reserves ONE data port per node; the
205+
# shipped default cluster.lms_workers=2 binds [data_port, data_port+1] and
206+
# cross-wires consecutive free ports (HELLO DATA worker mismatch). Pin the
207+
# pool to one worker: N=1 is the spec-7.2 topology identity this rig was
208+
# written against.
209+
$node0->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
210+
$node1->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
204211

205212
my $pgrac_conf = <<EOC;
206213
[cluster]

src/test/cluster_tap/t/339_shared_catalog_faults_2node.pl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,13 @@
221221
$node1->append_conf('postgresql.conf', $sc_common);
222222
$node1->append_conf('postgresql.conf', $cluster_conf);
223223
$node1->append_conf('postgresql.conf', "cluster.node_id = 1\n");
224+
# spec-7.3 merge: this hand-rolled rig reserves ONE data port per node; the
225+
# shipped default cluster.lms_workers=2 binds [data_port, data_port+1] and
226+
# cross-wires consecutive free ports (HELLO DATA worker mismatch). Pin the
227+
# pool to one worker: N=1 is the spec-7.2 topology identity this rig was
228+
# written against.
229+
$node0->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
230+
$node1->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
224231

225232
my $pgrac_conf = <<EOC;
226233
[cluster]

src/test/cluster_tap/t/346_shared_catalog_relmap_crash_2node.pl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,13 @@
185185
$node1->append_conf('postgresql.conf', $sc_common);
186186
$node1->append_conf('postgresql.conf', $cluster_conf);
187187
$node1->append_conf('postgresql.conf', "cluster.node_id = 1\n");
188+
# spec-7.3 merge: this hand-rolled rig reserves ONE data port per node; the
189+
# shipped default cluster.lms_workers=2 binds [data_port, data_port+1] and
190+
# cross-wires consecutive free ports (HELLO DATA worker mismatch). Pin the
191+
# pool to one worker: N=1 is the spec-7.2 topology identity this rig was
192+
# written against.
193+
$node0->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
194+
$node1->append_conf('postgresql.conf', "cluster.lms_workers = 1\n");
188195

189196
my $pgrac_conf = <<EOC;
190197
[cluster]

0 commit comments

Comments
 (0)