22use warnings;
33use PostgresNode;
44use TestLib;
5- use Test::Moretests => 2 ;
5+ use Test::Moretests => 3 ;
66use DBI;
77use DBD::Pg' :async' ;
88
@@ -54,6 +54,7 @@ sub PostgresNode::inet_connstr {
5454for (my $i =0;$i <$nnodes ;$i ++) {
5555$nodes [$i ]-> append_conf(' postgresql.conf' ,$pgconf_common );
5656$nodes [$i ]-> append_conf(' postgresql.conf' ,qq(
57+ #port = ${\$ nodes[$i ]->port }
5758 multimaster.node_id = @{[$i + 1 ]}
5859 multimaster.conn_strings = '$mm_connstr '
5960 #multimaster.arbiter_port = ${\$ nodes[0]->port }
@@ -69,8 +70,8 @@ sub PostgresNode::inet_connstr {
6970# ##############################################################################
7071
7172my $psql_out ;
72- # XXX:change to poll_untill
73- sleep (7 );
73+ # XXX:create extension on start and poll_untill status is Online
74+ sleep (5 );
7475
7576# ##############################################################################
7677# Replication check
@@ -79,11 +80,9 @@ sub PostgresNode::inet_connstr {
7980$nodes [0]-> psql(' postgres' ,"
8081create extension multimaster;
8182create table if not exists t(k int primary key, v int);
82- insert into t values(1, 10);
83- " );
84-
83+ insert into t values(1, 10);" );
8584$nodes [1]-> psql(' postgres' ," select v from t where k=1;" ,stdout => \$psql_out );
86- is($psql_out ,' 10' ," Checksanity while all nodes are up." );
85+ is($psql_out ,' 10' ," Checkreplication while all nodes are up." );
8786
8887# ##############################################################################
8988# Isolation regress checks
@@ -97,30 +96,18 @@ sub PostgresNode::inet_connstr {
9796
9897$nodes [2]-> teardown_node;
9998
100- # $nodes[0]->poll_query_until('postgres',
101- # "select disconnected = true from mtm.get_nodes_state() where id=3;")
102- # or die "Timed out while waiting for node to disconnect";
103-
104- $nodes [0]-> psql(' postgres' ,"
105- insert into t values(2, 20);
106- " );
107-
99+ $nodes [0]-> psql(' postgres' ," insert into t values(2, 20);" );
108100$nodes [1]-> psql(' postgres' ," select v from t where k=2;" ,stdout => \$psql_out );
109- is($psql_out ,' 20' ," Check that we can commit after one node disconnect." );
110-
111-
112-
113-
114-
115-
116-
117-
118-
119-
120-
121-
122-
101+ is($psql_out ,' 20' ," Check replication after node failure." );
123102
103+ # ##############################################################################
104+ # Work after node start
105+ # ##############################################################################
124106
107+ $nodes [2]-> start;
108+ sleep (5);# XXX: here we can poll
109+ $nodes [0]-> psql(' postgres' ," insert into t values(3, 30);" );
110+ $nodes [2]-> psql(' postgres' ," select v from t where k=3;" ,stdout => \$psql_out );
111+ is($psql_out ,' 30' ," Check replication after failed node recovery." );
125112
126113