From e438b0f4241e32c5f61da8be187aafdb993dd299 Mon Sep 17 00:00:00 2001
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Mon, 16 Dec 2024 15:56:38 +0200
Subject: [PATCH] Make 009_twophase.pl test pass with recovery_min_apply_delay
 set

The test failed if you ran the regression tests with TEMP_CONFIG with
recovery_min_apply_delay = '500ms'. Fix the race condition by waiting
for transaction to be applied in the replica, like in a few other
tests.

The failing test was introduced in commit cbfbda7841. Backpatch to all
supported versions like that commit (except v12, which is no longer
supported).

Reported-by: Alexander Lakhin
Discussion: https://www.postgresql.org/message-id/09e2a70a-a6c2-4b5c-aeae-040a7449c9f2@gmail.com
---
 src/test/recovery/t/009_twophase.pl | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/test/recovery/t/009_twophase.pl b/src/test/recovery/t/009_twophase.pl
index b280add10ef..15bb28627f9 100644
--- a/src/test/recovery/t/009_twophase.pl
+++ b/src/test/recovery/t/009_twophase.pl
@@ -312,6 +312,7 @@ $cur_master->psql('postgres', "COMMIT PREPARED 'xact_009_12'");
 
 $cur_master->psql(
 	'postgres', "
+	SET synchronous_commit='remote_apply'; -- To ensure the standby is caught up
 	CREATE TABLE t_009_tbl_standby_mvcc (id int, msg text);
 	BEGIN;
 	INSERT INTO t_009_tbl_standby_mvcc VALUES (1, 'issued to ${cur_master_name}');
-- 
2.39.5