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

Dieter Maurer dieter at handshake.de
Sun Dec 7 13:08:59 EST 2003


Shane Hathaway wrote at 2003-12-6 20:16 -0500:
>Dieter Maurer wrote:
>> I have an appliciation that (for modularity reasons)
>> opens two separate ZODB connections to the same ZEO server and
>> the same storage. When both connections are affected by a transaction,
>> deadlock occurs when the transaction commits.
>> The ZEO server reports in this situation:
>> 
>>    Transaction blocked waiting for storage. Clients waiting: 1.
>> 
>>    It never unblocks the transaction.
>> 
>> 
>> I fear I understand why this happens and that it will not be easy to
>> fix.
>
>We have avoided opening two connections to the same storage for reasons 
>just like this.  It's an artifact of the design.

I expected that...

>We'd be pleased to 
>hear a solution for your problem that does not break the design. :-)

I already had a solution when I posted the message:

  One module can provide its connections to another module.

  This breaks modularity a bit but works without ZEO modifications...

-- 
Dieter



More information about the ZODB-Dev mailing list