Re: CIC and deadlocks - Mailing list pgsql-hackers

From Pavan Deolasee
Subject Re: CIC and deadlocks
Date
Msg-id 2e78013d0703310922k31f3c91fyaac7de0947f8362f@mail.gmail.com
Whole thread Raw
In response to Re: CIC and deadlocks  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: CIC and deadlocks  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

On 3/31/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"Pavan Deolasee" <pavan.deolasee@gmail.com> writes:
> Isn't CREATE INDEX CONCURRENTLY prone deadlock conditions ?

Can you give a specific example?

txn1 - CREATE INDEX CONCURRENTLY (takes ShareUpdateExclusiveLock)
txn2 - VACUUM ANALYZE (waits on ShareUpdateExclusiveLock)
tnx1 - waits for txn2 to complete in the second phase of CIC

deadlock!

Lazy VACUUM is safe because we don't include "inVacuum"  transactions
in the snapshot and hence don't wait for it in CIC. I haven't checked, but
VACUUM FULL would also deadlock.



I think you may be describing a missed opportunity in that logic,
more than a reason to add still another fragile assumption for HOT.

Not sure what you are referring to. But I shall keep this in mind.

Thanks,
Pavan
 

--

EnterpriseDB     http://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Feature thought: idle in transaction timeout
Next
From: "Luke Lonergan"
Date:
Subject: Re: Oracle indemnifies PostgreSQL on its patents