Fix race in 032_relfilenode_reuse.pl.
authorThomas Munro <tmunro@postgresql.org>
Sun, 8 May 2022 04:54:09 +0000 (16:54 +1200)
committerThomas Munro <tmunro@postgresql.org>
Sun, 8 May 2022 07:19:36 +0000 (19:19 +1200)
Add wait_for_catchup() call to the test added by commit e2f65f42.  Per
slow build farm animal grison.

Also fix a comment.

Discussion: https://postgr.es/m/CA%2BhUKGLJ2Vy8hVQmnYotmTaEKZK0%3D-GcXgNAgcHzArZvtS4L_g%40mail.gmail.com

src/test/recovery/t/032_relfilenode_reuse.pl

index 22d8e85614c6aadab8f1e3ce121dcf2a2fc5feb0..ac9340b7dd1f413465f12b323e82a8018ab4ecb2 100644 (file)
@@ -72,6 +72,8 @@ $node_primary->safe_psql('postgres', q[
     CREATE TABLE replace_sb(data text);
     INSERT INTO replace_sb(data) SELECT random()::text FROM generate_series(1, 15000);]);
 
+$node_primary->wait_for_catchup($node_standby);
+
 # Use longrunning transactions, so that AtEOXact_SMgr doesn't close files
 send_query_and_wait(
        \%psql_primary,
@@ -101,9 +103,9 @@ verify($node_primary, $node_standby, 1,
 # value so we can check everything is OK
 $node_primary->safe_psql('conflict_db', "UPDATE large SET datab = 2;");
 
-# Again cause a lot of IO. That'll again write back dirty data, but uses (XXX
-# adjust after bugfix) the already opened file descriptor.
-# FIXME
+# Again cause a lot of IO. That'll again write back dirty data, but uses newly
+# opened file descriptors, so we don't confuse old files with new files despite
+# recycling relfilenodes.
 cause_eviction(\%psql_primary, \%psql_standby);
 
 verify($node_primary, $node_standby, 2,