Re: pgsql: Fix race condition in snapshot caching when 2PC is used.

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Fix race condition in snapshot caching when 2PC is used.
Date: 2020-08-18 23:51:52
Message-ID: 20200818235152.4hxyb3hrvcm7pwom@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2020-08-18 23:55:50 Re: pgsql: Fix race condition in snapshot caching when 2PC is used.
Previous Message Andres Freund 2020-08-18 23:45:32 Re: pgsql: snapshot scalability: cache snapshots using a xact completion co