Brian Hirt bhirt
Thu Jan 27 21:00:29 PST 2005
On Jan 27, 2005, at 11:19 AM, Vivek Khera wrote:
>
> In general it is a big problem.  I'm not exactly sure what is causing 
> the deadlocks, since the processes in question are not running any 
> long transactions.  At least my system is resilient to transactions 
> failing -- that was a bit PITA to build into the apps.

from what i've seen, it looks like whenever execute script is called, 
slonik tries to get an exclusive lock on all tables in the set, so if 
you have 1000 tables in the set that are being actively queried / 
modified, you *will almost certainly* get a deadlock; even if you are 
only changing one table that isn't being used.

I think this is a huge problem, and I hope it will be addressed in 
future releases -- people that use slony aren't likely to have idle 
databases.  zero downtime is a big reason people use things like slony 
so they can switchover for doing maintenance, etc.

This would be a total hack, but it would be nice if execute script 
could be told which tables are being modified so it only needs to get a 
lock on that one table -- though i don't know how easy that would be.

--------------------------------------------
MobyGames
http://www.mobygames.com
The world's largest and most comprehensive?
gaming database project



More information about the Slony1-general mailing list