Saga continues ([Zope-DB] DCOracle2: close connection doesn't)

Bo M. Maryniuck b.maryniuk at
Mon Oct 6 06:35:22 EDT 2003

On Friday 03 October 2003 21:59, Dieter Maurer wrote:
> Zope drops connections but not *during* long running queries.

Ah, this... Finally I understood you at this point. Sure it does not drops 
during running queries, because this could be a huge crime! But this does 
means anything. If I tell Zope "keep it for later use" and he drops anyway, 
than I think it is plain wrong. So folks here around call this very 
correctly: "Zope drops the connections".

> Zope drops old objects from its ZODB cache at transaction boundaries
> only (and when you flush the ZODB cache).

Well, this "old" by Zope current approach means by these definitions: 

1. "I don't know exactly how old it is because I never met him before. So I go 
shoot it right now".

...or in this way: 

2. "I met an object. It is a volatile attribute, so smells it already or not 
-- not my problem. Garbage collect depends from my random choice kill it or 
still leave it here. To be or not to be?".

> This drop only affects the current connection (and not objects
> in other connections).
Sure, that's why factory() is for...

> When Zope waits for a long running database query to return results it is
> not at a transaction boundary. 

I don't care for this. I care to db.close() which DOES NOT WORK in any case 
because of volatile attributes. Connections should not fly in air in random 
way as they doing right now where close the current connection is like to 
whack a fly -- if you success, than OK... Flushing the Cache -- sounds like 
spray in air the fly poison "RAID" to kill all the connections, which is not 
in use.

Instead, connections should be hardly registered and traced in details: who 
what where and how long doing something for what reason.

> Therefore, it does not drop this connection
> (unless you flush the ZODB cache manually).

Ironically, but flushing ZODB does not that help. Sometimes Zope thinks like 
my second definition. IOW, some of fly still alive because of small poison 
dose. ;-)

Regards, Bogdan M.Maryniuck

System programmer, Forbis UAB

More information about the Zope-DB mailing list