Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb69ec26

Browse files
kvapkelvich
authored andcommitted
Use Cluster.pm in test 001.
1 parent089b2d5 commitb69ec26

File tree

1 file changed

+13
-69
lines changed

1 file changed

+13
-69
lines changed

‎t/001_basic_recovery.pl

Lines changed: 13 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,15 @@
11
use strict;
22
use warnings;
3-
usePostgresNode;
3+
useCluster;
44
use TestLib;
55
use Test::Moretests=> 3;
66
use DBI;
77
use DBD::Pg':async';
88

9-
###############################################################################
10-
# Aux routines
11-
###############################################################################
12-
13-
subPostgresNode::inet_connstr {
14-
my ($self,$dbname) =@_;
15-
my$pgport =$self->port;
16-
my$pghost ='127.0.0.1';
17-
my$pgdata =$self->data_dir;
18-
19-
if (!defined($dbname))
20-
{
21-
return"port=$pgport host=$pghost";
22-
}
23-
return"port=$pgport host=$pghost dbname=$dbname";
24-
}
25-
26-
###############################################################################
27-
# Setup nodes
28-
###############################################################################
29-
30-
my$nnodes = 3;
31-
my@nodes = ();
32-
my$pgconf_common =qq(
33-
listen_addresses = '127.0.0.1'
34-
max_prepared_transactions = 200
35-
max_connections = 200
36-
max_worker_processes = 100
37-
max_wal_senders = 10
38-
max_replication_slots = 10
39-
wal_level = logical
40-
wal_sender_timeout = 0
41-
shared_preload_libraries = 'raftable,multimaster'
42-
multimaster.workers=10
43-
multimaster.queue_size=10485760 # 10mb
44-
);
45-
46-
# Init nodes
47-
for (my$i=0;$i <$nnodes;$i++) {
48-
push(@nodes, get_new_node("node$i"));
49-
$nodes[$i]->init;
50-
}
51-
52-
# Collect conn info
53-
my$mm_connstr =join(',',map {"${\$_->inet_connstr('postgres') }" }@nodes);
54-
55-
# Configure and start nodes
56-
for (my$i=0;$i <$nnodes;$i++) {
57-
$nodes[$i]->append_conf('postgresql.conf',$pgconf_common);
58-
$nodes[$i]->append_conf('postgresql.conf',qq(
59-
#port = ${\$nodes[$i]->port }
60-
multimaster.node_id = @{[$i + 1 ]}
61-
multimaster.conn_strings = '$mm_connstr'
62-
#multimaster.arbiter_port = ${\$nodes[0]->port }
63-
));
64-
$nodes[$i]->append_conf('pg_hba.conf',qq(
65-
host replication all 127.0.0.1/32 trust
66-
));
67-
$nodes[$i]->start;
68-
}
9+
my$cluster = new Cluster(3);
10+
$cluster->init();
11+
$cluster->configure();
12+
$cluster->start();
6913

7014
###############################################################################
7115
# Wait until nodes are up
@@ -79,11 +23,11 @@ sub PostgresNode::inet_connstr {
7923
# Replication check
8024
###############################################################################
8125

82-
$nodes[0]->psql('postgres',"
26+
$cluster->psql(0,'postgres',"
8327
create extension multimaster;
8428
create table if not exists t(k int primary key, v int);
8529
insert into t values(1, 10);");
86-
$nodes[1]->psql('postgres',"select v from t where k=1;",stdout=> \$psql_out);
30+
$cluster->psql(1,'postgres',"select v from t where k=1;",stdout=> \$psql_out);
8731
is($psql_out,'10',"Check replication while all nodes are up.");
8832

8933
###############################################################################
@@ -97,15 +41,15 @@ sub PostgresNode::inet_connstr {
9741
###############################################################################
9842

9943
diag("stopping node 2");
100-
$nodes[2]->teardown_node;
44+
$cluster->{nodes}->[2]->teardown_node;
10145

10246
diag("sleeping 15");
10347
sleep(15);
10448

10549
diag("inserting 2");
106-
$nodes[0]->psql('postgres',"insert into t values(2, 20);");
50+
$cluster->psql(0,'postgres',"insert into t values(2, 20);");
10751
diag("selecting");
108-
$nodes[1]->psql('postgres',"select v from t where k=2;",stdout=> \$psql_out);
52+
$cluster->psql(1,'postgres',"select v from t where k=2;",stdout=> \$psql_out);
10953
diag("selected");
11054
is($psql_out,'20',"Check replication after node failure.");
11155

@@ -114,13 +58,13 @@ sub PostgresNode::inet_connstr {
11458
###############################################################################
11559

11660
diag("starting node 2");
117-
$nodes[2]->start;
61+
$cluster->{nodes}->[2]->start;
11862
diag("sleeping 30");
11963
sleep(30);# XXX: here we can poll
12064
diag("inserting 3");
121-
$nodes[0]->psql('postgres',"insert into t values(3, 30);");
65+
$cluster->psql(0,'postgres',"insert into t values(3, 30);");
12266
diag("selecting");
123-
$nodes[2]->psql('postgres',"select v from t where k=3;",stdout=> \$psql_out);
67+
$cluster->psql(2,'postgres',"select v from t where k=3;",stdout=> \$psql_out);
12468
diag("selected");
12569
is($psql_out,'30',"Check replication after failed node recovery.");
12670

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp