[Florent Guillaume] > ... > The self.all.remove(c) in _ConnectionPool attempts to destroy the > connection.
Nope, it's simply getting rid of a weak reference that no longer serves a purpose, to avoid unbounded growth of the .all set in case of ill-behaved application code, and to speed Python's cyclic gc a little. Removing the Connection from .available removed _ConnectionPool's only strong reference to the Connection. > If something else has a reference to it once it's closed, then that's a > bug, and it shouldn't. Yup! ... > Even hundreds of ZODB connections is absurd. I'd settle for calling it uncommon and unexpected. > Again, with 4 threads you should never get more than 4 Filestorage > connections plus 4 TemporaryStorage connections. Bears repeating ;-) _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev