Re: Speedup twophase transactions
От | Stas Kelvich |
---|---|
Тема | Re: Speedup twophase transactions |
Дата | |
Msg-id | 6FCB694C-4DC3-40A4-B31C-A0E1B6E5F176@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: Speedup twophase transactions (Michael Paquier <michael.paquier@gmail.com>) |
Ответы |
Re: Speedup twophase transactions
|
Список | pgsql-hackers |
> On Apr 2, 2016, at 3:14 AM, Michael Paquier <michael.paquier@gmail.com> wrote: > > On Fri, Apr 1, 2016 at 10:53 PM, Stas Kelvich <s.kelvich@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. Sorry for delay. Actually I can’t reproduce that again, tried with following tx: begin; insert into t values(0); create table t1(id int); insert into t1 values(1); create table t2(id int); insert into t2 values(2); savepoint s1; drop table t1; select * from t for update; select * from t2 for share; prepare transaction 'x’; -- Stas Kelvich Postgres Professional: http://www.postgrespro.com Russian Postgres Company
Вложения
В списке pgsql-hackers по дате отправления: