On Wed, Sep 07, 2011 at 06:25:23PM -0400, Tom Lane wrote: > Robert Haas <robertmh...@gmail.com> writes: > > I thought about an error exit from client authentication, and that's a > > somewhat appealing explanation, but I can't quite see why we wouldn't > > clean up there the same as anywhere else. The whole mechanism feels a > > bit rickety to me - we don't actually release locks; we just abort the > > transaction and *assume* that will cause locks to get released. > > Well, transaction abort will call LockReleaseAll, which is carefully > coded to clean up the proclock lists regardless of what is in the > locallocks table, so I'm not sure why you find that any more rickety > than anything else. But maybe it'd be interesting for Dave to stick a > LockReleaseAll call into ProcKill() and see if that makes things better. > (Dave: test that before you put it in production, I'm not totally sure > it's safe.)
Re safety, what is the worst case here? Also, this is very intermittant, we have seen it only in recent months on both 8.4.7 and 9.0.4 after years of no problems. Lately we see it what feels like a few times a month. Possibly some new application behaviour is provoking it, but I have no guesses as to what. -dg -- David Gould da...@sonic.net 510 536 1443 510 282 0869 If simplicity worked, the world would be overrun with insects. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers