Saga continues ([Zope-DB] DCOracle2: close connection doesn't)
Bo M. Maryniuck
b.maryniuk at forbis.lt
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
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
Regards, Bogdan M.Maryniuck
System programmer, Forbis UAB
More information about the Zope-DB