[Zope-dev] deadlock patch ?
Shane Hathaway
shane@zope.com
Fri, 13 Jun 2003 09:44:33 -0400
Dirk Datzert wrote:
> Hi Zope developers,
>
> I read that Zope 2.6.1 has a deadlock patch integrated.
>
> - Deadlock prevention code added.
>
> It was possible for earlier versions of ZODB to deadlock when
> using multiple storages. If multiple transactions committed
> concurrently and both transactions involved two or more shared
> storages, deadlock was possible. This problem has been fixed
> by introducing a sortKey() method to the transaction and
> storage APIs that is used to define an ordering on transaction
> participants. This solution will prevent deadlocks provided
> that all transaction participants that use locks define a
> valid sortKey() method. A warning is raised if a participant
> does not define sortKey(). For backwards compatibility,
> BaseStorage provides a sortKey() that uses __name__.
>
>
> Can I find anywhere (maybe CVS) this patch ? I want to look if I can
> backport this to Zope 2.3.3, since we
> detected such deadlocks on our server.
The change was too extensive to call it a patch. It was almost a
rewrite. If you want to dig through the repository, look for all
changes made to ZODB and ZEO between about October 31, 2002 and January
3, 2003. I imagine it would be less work to upgrade to a more recent
version of Zope.
Shane