Re: [PATCHES] [HACKERS] CIC and deadlocks

2008-03-17 Thread Tom Lane
Pavan Deolasee [EMAIL PROTECTED] writes:
 [ patch to reduce probability of deadlock of CREATE INDEX CONCURRENTLY
   with other things ]

This patch no longer applies because of the VirtualXid changes.
Looking at it again, I'm fairly dissatisfied with it anyway;
I really don't like moving the GetTransactionSnapshot calls around
like that, because it opens a risk that GetTransactionSnapshot won't
get called at all.

Since the autovacuum case is already dealt with separately, I'm
thinking there is no problem here that we actually need to solve.
C.I.C. can never be guaranteed free of deadlock risk, so I don't
see a lot of value in making it free of deadlock risk against
just CLUSTER and VACUUM FULL.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [PATCHES] [HACKERS] CIC and deadlocks

2007-04-26 Thread Bruce Momjian

This has been saved for the 8.4 release:

http://momjian.postgresql.org/cgi-bin/pgpatches_hold

---

Pavan Deolasee wrote:
 On 4/11/07, Tom Lane [EMAIL PROTECTED] wrote:
 
 
  [ itch... ]  The problem is with time-extended execution of
  GetSnapshotData; what happens if the other guy lost the CPU for a good
  long time while in the middle of GetSnapshotData?  He might set his
  xmin based on info you saw as long gone.
 
  You might be correct that it's safe, but the argument would have to
  hinge on the OldestXmin process being unable to commit because of
  someone holding shared ProcArrayLock; a point you are definitely not
  making above.  (Study the comments in GetSnapshotData for awhile,
  also those in xact.c's commit-related code.)
 
 
 My argument was based on what you said above, but I obviously did not
 state it well :)
 
 Anyways, I think its better to be safe and we agree that its not such a
 bad thing to take exclusive lock on procarray because CIC is not something
 that happens very often. Attached is a revised patch which takes exclusive
 lock on the procarray, rest remaining the same.
 
 Thanks,
 Pavan
 
 -- 
 
 EnterpriseDB http://www.enterprisedb.com

[ Attachment, skipping... ]

 
 ---(end of broadcast)---
 TIP 3: Have you checked our extensive FAQ?
 
http://www.postgresql.org/docs/faq

-- 
  Bruce Momjian  [EMAIL PROTECTED]  http://momjian.us
  EnterpriseDB   http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
   choose an index scan if your joining column's datatypes do not
   match