- changed status to resolved
Use of cclass causes connection leaks
Issue #2
resolved
Setting the cclass parameter in cx_Oracle.connect() and then calling connection.close() doesn't close the connection. You can see this by
Adding a test case to Connection.py like:
def testCClassClosing(self): "test connections are closed when using cclass" for i in xrange(1,5000): connection = cx_Oracle.connect(self.username, self.password, self.tnsentry, cclass='myclass') connection.close() import time time.sleep(30)
Because the connections aren't closed you probably see: DatabaseError: ORA-12520: TNS:listener could not find available handler for requested type of server
If the test makes it to the sleep call, you can use netstat to see all of the connections are still in the ESTABLISHED state with the DB until the program exits.
The reason for wanting this to work is so I can test DJango and Oracle's DRCP with a simple configuration change. I see if I use cx_oracle pooling the pool.release(connection) call does close the connection, but that option doesn't fit my requirements.
Comments (1)
-
- Log in to comment
Ensure that sessions are released to the pool when calling connection.close(); this resolves issue 2: https://bitbucket.org/anthony_tuininga/cx_oracle/issue/2/use-of-cclass-causes-connection-leaks
→ <<cset 58eec36e9c1d>>