Add HOLD_INTERRUPTS section into FinishPreparedTransaction. If an interrupt arrives in the middle of FinishPreparedTransaction and any callback decide to call CHECK_FOR_INTERRUPTS (e.g. RemoveTwoPhaseFile can write a warning with ereport, which checks for interrupts) then it's possible to leave current GXact undeleted.
Backpatch to all supported branches Stas Kelvich Discussion: ihttps://www.postgresql.org/message-id/3ad85097-a3f3-4eba-99bd-c38edf8d2...@postgrespro.ru Branch ------ REL9_4_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/6bd659f19cac6bcf7235ac4f7dd4e36c8d2cc755 Modified Files -------------- src/backend/access/transam/twophase.c | 5 +++++ 1 file changed, 5 insertions(+)