[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

Reply via email to