Re: FinishPreparedTransaction missing HOLD_INTERRUPTS section
Teodor Sigaev <teodor@sigaev.ru>
From: Teodor Sigaev <teodor@sigaev.ru>
To: Stas Kelvich <s.kelvich@postgrespro.ru>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-05-03T17:11:28Z
Lists: pgsql-hackers
Thank you, pushed!
Stas Kelvich wrote:
> Hello.
>
> It seems that during COMMIT PREPARED FinishPreparedTransaction() doesn't
> hold interrupts around writing to wal and cleaning up ProcArray and GXact
> entries. At least RemoveTwoPhaseFile (which is called in between) can print
> a warning with ereport(), which, in turn will check for interrupts and
> therefore can cancel backend or throw an error before GXact clean-up.
>
> Other similar places like CommitTransaction and PrepareTransaction have
> such hold interrupts sections.
>
> --
> Stas Kelvich
> Postgres Professional: http://www.postgrespro.com
> The Russian Postgres Company
>
--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/
Commits
-
Add HOLD_INTERRUPTS section into FinishPreparedTransaction.
- 540e7a6e535e 9.3.23 landed
- 6bd659f19cac 9.4.18 landed
- d3fc427f478f 9.5.13 landed
- d9b3bc55201a 9.6.9 landed
- ee492e3dedbd 10.4 landed
- 8f9be261f437 11.0 landed