On 11/17/10 18:37, Josh Berkus wrote:
All, Having an interesting issue on one 8.4 database. Due to poor application design, the application is requesting 8-15 exclusive (update) locks on the same row on parallel connections pretty much simultaneously (i.e. < 50ms apart). What's odd about this is that the resulting "lock pileup" takes a mysterious 2-3.5 seconds to clear, despite the fact that none of the connections are *doing* anything during that time, nor are there deadlock errors. In theory at least, the locks should clear out in reverse order in less than a second; none of the individual statements takes more than 10ms to execute.
Just a random guess: a timeout-supported livelock? (of course if there is any timeout-and-retry protocol going on and the timeout intervals are non-randomized).
-- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance