[ZODB-Dev] [ZODB3.1] easily reproducible deadlock

kapil thangavelu hazmat at objectrealms.net
Sun Dec 7 03:58:01 EST 2003


On 12/6/03 10:44 PM, "Shane Hathaway" <shane at zope.com> wrote:

> On Sun, 7 Dec 2003, Christian Robottom Reis wrote:
> 
>> Hmm, are we talking about instantiating two *ClientStorages* in-process?
>> 
>> I open multiple connections to the same storage all the time, AFAIUI,
>> but that's a matter of calling db.open() multiple times.
> 
> I believe Dieter is talking about creating two ClientStorages that point
> to the same ZEO database and attempting to commit changes on both storages
> in a single transaction.  The ZEO server will try to acquire a lock on the
> storage twice, resulting in a deadlock.  Note that ZEO has some machinery
> for breaking locks after a timeout, but that won't work for Dieter.
> 

so using setLocalTransaction() on a conn and committing them
individually/manually would work around this I guess.

-k




More information about the ZODB-Dev mailing list