On Tue, 2007-09-11 at 19:32 +0200, Florian G. Pflug wrote: > Simon Riggs wrote: > > On Tue, 2007-09-11 at 10:21 -0400, Tom Lane wrote: > >> Simon Riggs <[EMAIL PROTECTED]> writes: > >>> 1. The ProcArrayLock is acquired Exclusive-ly by only one > >>> remaining operation: XidCacheRemoveRunningXids(). Reducing things > >>> to that level is brilliant work, Florian and Tom. > >> It would be brilliant if it were true, but it isn't. Better look > >> again. > > > > On the more detailed explanation, I say "in normal operation". > > > > My analytical notes attached to the original post show ProcArrayLock > > is acquired exclusively during backend start, exit and while making a > > prepared (twophase) commit. So yes, it is locked Exclusively in > > other places, but they happen rarely and they actually add/remove > > procs from the array, so its unlikely anything can change there > > anyhow. > > Well, and during normal during COMMIT and ABORT, which might happen > rather frequently ;-)
Agreed, that part of my assessment was not accurate... -- Simon Riggs 2ndQuadrant http://www.2ndQuadrant.com ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq