Re: reindex creates predicate lock on index root - Mailing list pgsql-hackers

From Kevin Grittner
Subject Re: reindex creates predicate lock on index root
Date
Msg-id 4DEF4A6B020000250003E2F1@gw.wicourts.gov
Whole thread Raw
In response to Re: reindex creates predicate lock on index root  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: reindex creates predicate lock on index root
Re: reindex creates predicate lock on index root
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> wrote:

> I'm wondering if this shouldn't be linked to whether the scan is
> using an MVCC snapshot, rather than inserting exceptions for
> specific operations.

Yeah, that was raised before somewhere and I spaced it.  Grabbing
predicate locks for non-MVCC snapshots is nonsense, and the fix is a
one-line addition to the SkipSerialization macro defined and used in
predicate.c.  Patch attached.

I agree with your other post that changes which are in the nature of
improving performance (which for SSI includes changes which reduce
the number of false positive serialization failures for serializable
transactions) should be viewed very cautiously in terms of 9.1
inclusion.  We're already at a point where a DBT-2 benchmark only
shows a 2% hit for SSI overhead, including transaction restarts for
serialization failures.  I'd love to get that down to 1% or lower,
but I don't want to create any risk of introducing bugs in 9.1 at
this point.  I think this one-liner might be worth considering,
since it is very low risk and fixes an undesirable behavior which
some (Tom, at least, it would appear) would have no trouble
categorizing as a bug.

The attached patch has not yet been tested, but I'll test it today
along with the latest committed code.

-Kevin


Attachment

pgsql-hackers by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: SIREAD lock versus ACCESS EXCLUSIVE lock
Next
From: Merlin Moncure
Date:
Subject: Re: Error in PQsetvalue