Re: reindex creates predicate lock on index root

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Robert Haas" <robertmhaas(at)gmail(dot)com>
Cc: "Dan Ports" <drkp(at)csail(dot)mit(dot)edu>,<pgsql-hackers(at)postgresql(dot)org>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: reindex creates predicate lock on index root
Date: 2011-06-08 15:09:47
Message-ID: 4DEF4A6B020000250003E2F1@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)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 Content-Type Size
ssi-mvcc-snapshot.patch text/plain 406 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Creager 2011-06-08 15:13:38 Re: [Pgbuildfarm-members] CREATE FUNCTION hang on test machine polecat on HEAD
Previous Message Kevin Grittner 2011-06-08 14:46:08 Re: SIREAD lock versus ACCESS EXCLUSIVE lock