aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2016-10-19 12:00:00 -0400
committerPeter Eisentraut <peter_e@gmx.net>2016-10-19 09:18:50 -0400
commite5a9bcb529c474a07d1aa077665c5fade4c83cfc (patch)
tree87a5d5e4f27655b2cf6172ebf2f58bad3a322781 /src
parent5d58c07a441414ae29a8e315d2f9868d3d8e20be (diff)
downloadpostgresql-e5a9bcb529c474a07d1aa077665c5fade4c83cfc.tar.gz
postgresql-e5a9bcb529c474a07d1aa077665c5fade4c83cfc.zip
Use pg_ctl promote -w in TAP tests
Switch TAP tests to use the new wait mode of pg_ctl promote. This allows avoiding extra logic with poll_query_until() to be sure that a promoted standby is ready for read-write queries. From: Michael Paquier <michael.paquier@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_rewind/RewindTest.pm6
-rw-r--r--src/test/perl/PostgresNode.pm5
-rw-r--r--src/test/recovery/t/004_timeline_switch.pl5
3 files changed, 5 insertions, 11 deletions
diff --git a/src/bin/pg_rewind/RewindTest.pm b/src/bin/pg_rewind/RewindTest.pm
index c7c3a8f45c6..1c482617add 100644
--- a/src/bin/pg_rewind/RewindTest.pm
+++ b/src/bin/pg_rewind/RewindTest.pm
@@ -161,12 +161,8 @@ sub promote_standby
or die "Timed out while waiting for standby to receive and write WAL";
# Now promote slave and insert some new data on master, this will put
- # the master out-of-sync with the standby. Wait until the standby is
- # out of recovery mode, and is ready to accept read-write connections.
+ # the master out-of-sync with the standby.
$node_standby->promote;
- $node_standby->poll_query_until('postgres',
- "SELECT NOT pg_is_in_recovery()")
- or die "Timed out while waiting for promotion of standby";
# Force a checkpoint after the promotion. pg_rewind looks at the control
# file to determine what timeline the server is on, and that isn't updated
diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm
index 6e5a75a050b..c1b16ca9e9e 100644
--- a/src/test/perl/PostgresNode.pm
+++ b/src/test/perl/PostgresNode.pm
@@ -723,7 +723,7 @@ sub restart
=item $node->promote()
-Wrapper for pg_ctl promote
+Wrapper for pg_ctl promote -w
=cut
@@ -735,7 +735,8 @@ sub promote
my $logfile = $self->logfile;
my $name = $self->name;
print "### Promoting node \"$name\"\n";
- TestLib::system_log('pg_ctl', '-D', $pgdata, '-l', $logfile, 'promote');
+ TestLib::system_log('pg_ctl', '-D', $pgdata, '-w', '-l', $logfile,
+ 'promote');
}
# Internal routine to enable streaming replication on a standby node.
diff --git a/src/test/recovery/t/004_timeline_switch.pl b/src/test/recovery/t/004_timeline_switch.pl
index 3ee8df2cdc2..5f3b2fe1ddb 100644
--- a/src/test/recovery/t/004_timeline_switch.pl
+++ b/src/test/recovery/t/004_timeline_switch.pl
@@ -57,10 +57,7 @@ recovery_target_timeline='latest'
$node_standby_2->restart;
# Insert some data in standby 1 and check its presence in standby 2
-# to ensure that the timeline switch has been done. Standby 1 needs
-# to exit recovery first before moving on with the test.
-$node_standby_1->poll_query_until('postgres',
- "SELECT pg_is_in_recovery() <> true");
+# to ensure that the timeline switch has been done.
$node_standby_1->safe_psql('postgres',
"INSERT INTO tab_int VALUES (generate_series(1001,2000))");
$until_lsn = $node_standby_1->safe_psql('postgres',