[Florent Guillaume]
>> ...
>> If you see many RDB connections, then it's a RDB problem and not a ZODB
>> problem. Something not releasing RDB connections quick enough, or
>> leaking RDB connections.

> Not agree. Can you answer the question? Does self.all.remove(c) mean that
> we WANT to destroy connection instance?

It means that _ConnectionPool no longer has a reason to remember anything
about that Connection.  Application code can continue keeping it alive
forever, though.

> If not then where in ZODB source code i can see connection destruction?
> Clearing cache and calling _v_database_connection.close() method?

There's isn't any explicit "destruction" code.  Python's cyclic garbage
collection reclaims a Connection `c` (along with its cache, etc) if and when
no strong references to `c` exist at the time Python's cyclic gc runs.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to