Michael Paquier <mich...@paquier.xyz> wrote: > > Attached is an updated patch. Thanks for the feedback.
@@ -1755,7 +1755,7 @@ void multixact_twophase_recover(TransactionId xid, uint16 info, void *recdata, uint32 len) { - BackendId dummyBackendId = TwoPhaseGetDummyBackendId(xid); + BackendId dummyBackendId = TwoPhaseGetDummyBackendId(xid, true); MultiXactId oldestMember; RecoverPreparedTransactions calls ProcessRecords with twophase_recover_callbacks right after releasing the TwoPhaseStateLock, so I think lock_held should be false here (matching the similar call of TwoPhaseGetDummyProc at lock_twophase_recover). Since the patch touches TwoPhaseGetDummyBackendId, let’s fix the comment header to mention it instead of TwoPhaseGetDummyProc > Now, it seems > to me that the potential ABI breakage argument (which can be solved by > introducing an extra routine, which means more conflicts to handle > when back-patching 2PC stuff), and the time it took to find the issue > are pointing out that we should patch only HEAD. Sounds reasonable. Regards, Oleksii Kliukin