Saga continues ([Zope-DB] DCOracle2: close connection doesn't)
Bo M. Maryniuck
b.maryniuk at forbis.lt
Mon Sep 29 04:29:47 EDT 2003
On Sunday 28 September 2003 22:22, Dieter Maurer wrote:
> It is more likely a "bug" in your understanding:
> Each ZODB connection has its own copy of a ZODB object
> and therefore its own volatile attributes.
Hm. Does it mean that they are messed up (see below)?
> When you delete a volatile attribute in one connection,
> then this copy no longer has it. But that does not say
> anything about the copies in the other connections.
OK, I did very-very-very simple test-product, which certainly only do on
self._v_test_connection = DCOracle2.connect('asdf at qwer/zxcv')
And the method teardown() thich should close the connection. It does:
self._v_test_connection = None
del self._v_test_connection # This is really optional
So I had turned off any connection, have a pure plain Zope instance without
any connection, than had runned SQL to select active Oracle users from
p$session view and got no one in result. OK, let's go test it.
Now I had added my test to ZODB and run p$session SQL again. Now I see one
active session, exactly I did it. Now, I call teardown() method which means
"Close Oracle session and disappear forewer". And after that I had deleted
the test object at all. After that, SQL still shows me active connection.
So below is the interesting questions, which I really would like to get it
1. Why my understanding is buggy, when I set my volatile to None and Zope
still keeps the connection? Should Zope garbagecollect it instead?
2. Why I think wrong, if I had DELETED this UNIQUE volatile and, in theory,
Zope has no one else anymore but Oracle session still opened?
3. Why I did Control_Panel.Database.manage_minimize() and Oracle session
4. How else to say to my volatile: "Die immediately and release Oracle
session!" in Python code, except call close(), delete it and set it to None?
I really interested and would be very nice if You let me know it. Thank You
NOTE: May be this will help to find the answers: Zope 2.5 seems works much
better in this case. Does 2.6 and 2.7 has some changes with volatile
attributes since v. 2.5?..
Regards, Bogdan M.Maryniuck
System programmer, Forbis UAB
More information about the Zope-DB