Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Make 009_twophase.pl test pass with recovery_min_apply_delay set
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 16 Dec 2024 13:56:38 +0000 (15:56 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 16 Dec 2024 13:59:36 +0000 (15:59 +0200)
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

index b9d96453167bbb03200ff31ae73a5c81da47829e..a5686db252642295643016d94b06c516ef79ecd5 100644 (file)
@@ -315,6 +315,7 @@ $cur_primary->psql('postgres', "COMMIT PREPARED 'xact_009_12'");
 
 $cur_primary->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_primary_name}');