Hi, Oleksii Kliukin <al...@hintbits.com> wrote: > > The approach looks good to me. Surprisingly, I saw no stalled backends > because of the double acquisition of lock at TwoPhaseGetGXact once I put a > simple TwoPhaseStateLock right before the "gxact->valid = falseā line; I > will test your patch and post the outcome.
I gave it a spin on the same VM host as shown to constantly reproduce the issue and observed neither 'identifier already in use' nor any locking issues over a few dozens of runs, so it looks good to me. That was HEAD, but since FinishPreparedTransaction seems to be identical there and on the back branches it should work for PG 10 and 11 as well. Regards, Oleksii Kliukin