ERROR after writing PREPARE WAL record

Поиск
Список
Период
Сортировка
От Asim R P
Тема ERROR after writing PREPARE WAL record
Дата
Msg-id CANXE4TcyYvAjvyNyCJuij1y=xQ6ZPwDJGo84jz=yecB0E=CNPQ@mail.gmail.com
обсуждение исходный текст
Ответы Re: ERROR after writing PREPARE WAL record  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hello

Cancel/terminate requests are held off during "PREPARE TRANSACTION" processing in function PrepareTransaction().  However, a subroutine invoked by PrepareTransaction() may perform elog(ERROR) or elog(FATAL).

And if that happens after PREPARE WAL record is written and before transaction state is cleaned up, normal abort processing is triggered, i.e. AbortTransaction().  It is not correct to perform abort transaction workflow against a transaction that is already marked as prepared.  A prepared transaction should only be finished using "COMMIT/ROLLBACK PREPARED" operation.

I tried injecting an elog(ERROR) at the end of EndPrepare() and that resulted in a PANIC at some point.

Before delving into more details, I want to ascertain that this is a valid problem to solve.  Is the above problem worth worrying about?

Asim

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: buildfarm's typedefs list has gone completely nutso
Следующее
От: Nikita Glukhov
Дата:
Сообщение: Re: Ltree syntax improvement