Fix timing issue in pg_rewind test.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 15 Nov 2020 15:09:31 +0000 (17:09 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 15 Nov 2020 15:09:31 +0000 (17:09 +0200)
The test inserts a row in primary server, waits until the insertion has
been replicated to a cascaded standby, and checks that it's visible there
by querying the cascaded standby. In order for that to work reliably, the
test needs to wait until the insertion WAL record has been fully replayed.

This should fix the occasional buildfarm failures. Diagnosis by Tom Lane.

Discussion: https://www.postgresql.org/message-id/606796.1605424022@sss.pgh.pa.us

src/bin/pg_rewind/t/007_standby_source.pl

index 64b7f1a3be66c346eb561f6ddbbfba9e74c08457..f6abcc2d9872a9f04b067451825dcab0823c2ab8 100644 (file)
@@ -155,7 +155,7 @@ $node_a->safe_psql('postgres',
    "INSERT INTO tbl1 values ('in A, after rewind')");
 
 $lsn = $node_a->lsn('insert');
-$node_b->wait_for_catchup('node_c', 'write', $lsn);
+$node_b->wait_for_catchup('node_c', 'replay', $lsn);
 
 check_query(
    'SELECT * FROM tbl1',