On Fri, Apr 1, 2016 at 10:53 PM, Stas Kelvich <s.kelv...@postgrespro.ru> wrote: > I wrote: >> While testing the patch, I found a bug in the recovery conflict code >> path. You can do the following to reproduce it: >> 1) Start a master with a standby >> 2) prepare a transaction on master >> 3) Stop immediate on standby to force replay >> 4) commit prepare transaction on master >> 5) When starting the standby, it remains stuck here: > > Hm, I wasn’t able to reproduce that. Do you mean following scenario or am I > missing something? > > (async replication) > > $node_master->psql('postgres', " > begin; > insert into t values (1); > prepare transaction 'x'; > "); > $node_slave->teardown_node; > $node_master->psql('postgres',"commit prepared 'x'"); > $node_slave->start; > $node_slave->psql('postgres',"select count(*) from pg_prepared_xacts", stdout > => \$psql_out); > is($psql_out, '0', "Commit prepared on master while slave is down.");
Actually, not exactly, the transaction prepared on master created a table. Sorry for the lack of precisions in my review. -- Michael -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers