Fix race condition in recently-added TAP test for recovery consistency
A couple of queries are run on the primary to create and fill in a test table, which gets checked on the standby afterwards. However the test was not waiting for the confirmation that the necessary records have been replayed on the standby, leading to spurious failures. Per buildfarm member loach. Thanks to Thomas Munro for the report and Tom Lane for the failure analysis. Discussion: https://postgr.es/m/CA+hUKGLUpqG52xtriUz5RpmeKPoEfNxNc-CginG+Cx+X2-Ycew@mail.gmail.com
This commit is contained in:
parent
c015f853bf
commit
364298be22
|
@ -97,6 +97,10 @@ INSERT INTO test1 SELECT generate_series(1, 10000);");
|
||||||
$primary->safe_psql('postgres', 'CHECKPOINT;');
|
$primary->safe_psql('postgres', 'CHECKPOINT;');
|
||||||
$primary->safe_psql('postgres', 'UPDATE test1 SET a = a + 1;');
|
$primary->safe_psql('postgres', 'UPDATE test1 SET a = a + 1;');
|
||||||
|
|
||||||
|
# Wait for last record to have been replayed on the standby.
|
||||||
|
$primary->wait_for_catchup($standby, 'replay',
|
||||||
|
$primary->lsn('insert'));
|
||||||
|
|
||||||
# Fill in the standby's shared buffers with the data filled in
|
# Fill in the standby's shared buffers with the data filled in
|
||||||
# previously.
|
# previously.
|
||||||
$standby->safe_psql('postgres', 'SELECT count(*) FROM test1;');
|
$standby->safe_psql('postgres', 'SELECT count(*) FROM test1;');
|
||||||
|
|
Loading…
Reference in New Issue