Re: Prepared transaction releasing locks before deregistering its GID
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Oleksii Kliukin <alexk@hintbits.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-02-19T04:07:06Z
Lists: pgsql-hackers
On 2019-Feb-19, Michael Paquier wrote: > diff --git a/src/include/access/twophase.h b/src/include/access/twophase.h > index 6228b091d8..2dcd08e9fa 100644 > --- a/src/include/access/twophase.h > +++ b/src/include/access/twophase.h > @@ -34,7 +34,7 @@ extern void TwoPhaseShmemInit(void); > extern void AtAbort_Twophase(void); > extern void PostPrepare_Twophase(void); > > -extern PGPROC *TwoPhaseGetDummyProc(TransactionId xid); > +extern PGPROC *TwoPhaseGetDummyProc(TransactionId xid, bool lock_held); > extern BackendId TwoPhaseGetDummyBackendId(TransactionId xid); > > extern GlobalTransaction MarkAsPreparing(TransactionId xid, const char *gid, Hmm, ABI break ... -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Make release of 2PC identifier and locks consistent in COMMIT PREPARED
- effe7d9552dd 12.0 landed
-
Fix incorrect function reference in comment of twophase.c
- 4c23216002ac 12.0 landed
-
Add TAP tests for 2PC post-commit callbacks of multixacts at recovery
- b1086767087e 12.0 landed