On 3/31/07, Tom Lane <[EMAIL PROTECTED]> wrote:

"Pavan Deolasee" <[EMAIL PROTECTED]> 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

Reply via email to