Hi,
On 2020-08-18 19:43:24 -0400, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > Fix race condition in snapshot caching when 2PC is used.
>
> Uh, is it really okay to modify that variable with only shared
> ProcArrayLock?
Uh, you're right. I assume it'll fix the buildfarm visible issue
regardless, but we surely don't want to rely on that.
I'm inclined to just make ClearTransaction take an exclusive lock - the
rest of the 2PC operations are so heavyweight that I can't imagine
making a difference. When I tested the locking changes in
ProcArrayAdd()/Remove() the more heavyweight locking wasn't at all
visible.
Greetings,
Andres Freund