[ZODB-Dev] Tracking down a freeze (deadlock?)
Tim Peters
tim at zope.com
Thu Feb 24 13:31:22 EST 2005
[Florent Guillaume]
...
> Hm I think I can answer that one. A persistent object is not supposed to
> have a __del__ that accesses the ZODB right ? Otherwise, well, we see
> what happens.
Sorry, I'm over my eyeballs with other work, and can't pay much attention to
this.
Persistent objects weren't intended to have __del__ methods period. I doubt
anyone knows everything bad that might happen if you try to do that anyway.
The only bad thing I know of for sure was that a persistent object with a
__del__ method used to be able to provoke aConnection's in-memory cache into
an infinite loop, while the least-recently used objects were getting booted
from the cache (that typically happens after a transaction commit or abort).
That was fixed in ZODB 3.2.2b1, although the intent then was just to stop
the infinite loop, not to pretend to support persistent objects with __del__
methods.
More information about the ZODB-Dev
mailing list