ZEO: effective lockout after exception in "CommitLog"
Bug #143641 reported by
Dieter Maurer
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ZODB |
Invalid
|
Medium
|
Unassigned |
Bug Description
"ZEO.StorageSer
effectively as a lock to prevent several transaction commits from the same
client at the same time.
However, the "CommitLog()" call in "tpc_begin" can fail
for various reasons -- among others a "too many open file" condition.
In those cases, "tpc_begin" has already set its "transaction"
attribute but neither the exception nor cleanup code on the
client side resets it again. As a consequence, this client
can no longer start further transactions on ZEO.
The attached patch prevents this problem by creating the "CommitLog"
before "transaction" is set.
affects: | zope2 → zodb |
To post a comment you must log in.
The server transaction locking code has been completely rewritten for 3.10.
*This* bug is gone. :)