Re: FOR [SHARE|UPDATE] NOWAIT may still block in EvalPlanQualFetch - Mailing list pgsql-hackers

From Andres Freund
Subject Re: FOR [SHARE|UPDATE] NOWAIT may still block in EvalPlanQualFetch
Date
Msg-id 20140531140936.GC4286@awork2.anarazel.de
Whole thread Raw
In response to Re: FOR [SHARE|UPDATE] NOWAIT may still block in EvalPlanQualFetch  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Hi,

On 2014-01-31 16:28:08 -0500, Bruce Momjian wrote:
> On Fri, Aug  2, 2013 at 04:00:03PM +0800, Craig Ringer wrote:
> > FOR SHARE|UPDATE NOWAIT will still block if they have to follow a ctid
> > chain because the call to EvalPlanQualFetch doesn't take a param for
> > noWait, so it doesn't know not to block if the updated row can't be locked.
> > 
> > The attached patch against master includes an isolationtester spec to
> > demonstrate this issue and a proposed fix. Builds with the fix applied
> > pass "make check" and isolationtester "make installcheck".
> > 
> > To reach this point you need to apply the patch in
> > http://www.postgresql.org/message-id/51FB4305.3070600@2ndquadrant.com
> > first, otherwise you'll get stuck there and won't touch the code changed
> > in this patch.
> 
> The above looks like a legitimate patch that was not applied:
> 
>     http://www.postgresql.org/message-id/51FB6703.9090801@2ndquadrant.com
> 
> The patch mentioned in the text above was applied, I think.

Craig: I think you should add this to the next CF. Seems like something
we should fix, but which isn't super urgent. But when the skip locked
stuff comes in it'll be more relevant.
Might also need a rebase.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Re: Logical slots not mentioned in CREATE_REPLICATION_SLOT for replication protocol docs
Next
From: Andres Freund
Date:
Subject: Re: Changeset Extraction v7.6.1