Re: reindex creates predicate lock on index root

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: reindex creates predicate lock on index root
Date: 2011-06-08 02:14:30
Message-ID: 26899.1307499270@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> writes:
> During testing of the SSI DDL changes I noticed that a REINDEX INDEX
> created a predicate lock on page 0 of the index. This is pretty
> harmless, but mildly annoying. There are a few other places where
> it would be good to suppress predicate locks; these are listed on
> the R&D section of the Wiki. I hope to clean some of these up in
> 9.2. Unless a very clean and safe fix for the subject issue pops out
> on further review, I'll add this to that list.

Do you mean page zero, as in the metapage (for most index types), or do
you mean the root page? If the former, how is that not an outright bug,
since it corresponds to no data? If the latter, how is that not a
serious performance problem, since it corresponds to locking the entire
index? Any way you slice it, it sounds like a pretty bad bug.

It's not apparent to me why an index build (regular or reindex) should
create any predicate locks at all, ever. Surely it's a basically
nontransactional operation that SSI should keep its fingers out of.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-06-08 02:17:49 Re: BUG #6041: Unlogged table was created bad in slave node
Previous Message Robert Haas 2011-06-08 01:58:20 Re: Domains versus polymorphic functions, redux