[Zope-DB] Closing idle DCoracle2 Connections?
Germer, Carsten
carsten.germer at desy.de
Mon Oct 24 07:32:42 EDT 2005
Ok, that's a bit much for my question I guess...
I gather from all your mails that I can not "close" a database
connection periodically or on event from Zope (Script or whatever)?
Any hands-down clues what I can do to prevent db-conns from ideling
around?
/Carsten
>-----Original Message-----
>From: Dieter Maurer [mailto:dieter at handshake.de]
>Sent: Saturday, October 22, 2005 8:07 PM
>To: Matthew T. Kromer
>Cc: Chris Withers; Germer, Carsten; zope-db at zope.org
>Subject: Re: [Zope-DB] Closing idle DCoracle2 Connections?
>
>
>Matthew T. Kromer wrote at 2005-10-21 20:39 -0400:
>> ...
>>What happens with Zope and DCOracle2 I think is when the DA
>>connection object is ghosted, it doesn't know about it, and thus
>>doesn't close its connection.
>
>Why not?
>
> When the DA instance is ghosted, the "db" object is deleted
> (last reference released).
>
> In an optimal world, the deletion of the "db" object would release
> the last reference to the DCOracle connection and this
> would close the connection to Oracle before the memory
> is released.
>
>> ...
>>The close is implicit when the
>>connection object is destroyed, but usually there's so much stuff
>>loaded that *someone* has a reference to the connection.
>
>That's the bug.
>
>There should be no references to DCOracle resources outside
>the "db" object (at least, Zope's DA/ZSQL do not require
>such references outside). Thus, when the "db" object goes away,
>the "DCOracle" resources should, too.
>
>>However, the code is still geared around OCI8 and some Oracle
>9 code,
>>its due for some refactoring in a big way to deal with the profusion
>>of handle-driven objects now much more prevalent in Oracle 10.
>
>--
>Dieter
>
More information about the Zope-DB
mailing list