|
3 | 3 | use Cluster;
|
4 | 4 | use TestLib;
|
5 | 5 | use Test::More tests => 3;
|
6 |
| -use DBI; |
7 |
| -use DBD::Pg ':async'; |
8 | 6 |
|
9 | 7 | my $cluster = new Cluster(3);
|
10 | 8 | $cluster->init();
|
|
43 | 41 | diag("stopping node 2");
|
44 | 42 | $cluster->{nodes}->[2]->teardown_node;
|
45 | 43 |
|
46 |
| -diag("sleeping 15"); |
47 |
| -sleep(15); |
| 44 | +my $ret = $cluster->psql(0, 'postgres', "insert into t values(4, 40);"); |
| 45 | +diag "tx1 status = $ret"; |
48 | 46 |
|
49 | 47 | diag("inserting 2");
|
50 |
| -$cluster->psql(0, 'postgres', "insert into t values(2, 20);"); |
| 48 | +my $ret = $cluster->psql(0, 'postgres', "insert into t values(2, 20);"); |
| 49 | +diag "tx2 status = $ret"; |
| 50 | + |
51 | 51 | diag("selecting");
|
52 | 52 | $cluster->psql(1, 'postgres', "select v from t where k=2;", stdout => \$psql_out);
|
53 | 53 | diag("selected");
|
|
58 | 58 | ###############################################################################
|
59 | 59 |
|
60 | 60 | diag("starting node 2");
|
61 |
| -$nodes[2]->start; |
62 |
| -diag("sleeping 10"); |
| 61 | +$cluster->{nodes}->[2]->start; |
| 62 | +#diag("sleeping 10"); |
63 | 63 | #sleep(10); # XXX: here we can poll
|
| 64 | + |
64 | 65 | $cluster->psql(0, 'postgres', "select mtm.poll_node(3);");
|
65 | 66 | diag("inserting 3");
|
| 67 | + |
66 | 68 | $cluster->psql(0, 'postgres', "insert into t values(3, 30);");
|
67 | 69 | diag("selecting");
|
| 70 | + |
68 | 71 | $cluster->psql(2, 'postgres', "select v from t where k=3;", stdout => \$psql_out);
|
69 | 72 | diag("selected");
|
| 73 | + |
70 | 74 | is($psql_out, '30', "Check replication after failed node recovery.");
|
71 | 75 |
|
72 | 76 |
|
0 commit comments