On Wed, Jul 14, 2021 at 11:52 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > On Mon, Jul 12, 2021 at 9:14 AM Peter Smith <smithpb2...@gmail.com> wrote: > > Pushed. >
As reported by Michael [1], there is one test failure related to this commit. The failure is as below: # Failed test 'transaction is prepared on subscriber' # at t/021_twophase.pl line 324. # got: '1' # expected: '2' # Looks like you failed 1 test of 24. [12:14:02] t/021_twophase.pl .................. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/24 subtests [12:14:12] t/022_twophase_cascade.pl .......... ok 10542 ms ( 0.00 usr 0.00 sys + 2.03 cusr 0.61 csys = 2.64 CPU) [12:14:31] t/100_bugs.pl ...................... ok 18550 ms ( 0.00 usr 0.00 sys + 3.85 cusr 1.36 csys = 5.21 CPU) [12:14:31] I think I know what's going wrong here. The corresponding test is: # Now do a prepare on publisher and check that it IS replicated $node_publisher->safe_psql('postgres', " BEGIN; INSERT INTO tab_copy VALUES (99); PREPARE TRANSACTION 'mygid';"); $node_publisher->wait_for_catchup($appname_copy); # Check that the transaction has been prepared on the subscriber, there will be 2 # prepared transactions for the 2 subscriptions. $result = $node_subscriber->safe_psql('postgres', "SELECT count(*) FROM pg_prepared_xacts;"); is($result, qq(2), 'transaction is prepared on subscriber'); Here, the test is expecting 2 prepared transactions corresponding to two subscriptions but it waits for just one subscription via appname_copy. It should wait for the second subscription using $appname as well. What do you think? [1] - https://www.postgresql.org/message-id/YQP02%2B5yLCIgmdJY%40paquier.xyz -- With Regards, Amit Kapila.