User 57295192cc
17-10-2012 13:31:22
There seem to be a database connection leak somewhere in the update process started by chemaxon.jchem.db.Updater.performCurrentUpdate(). I noticed that after an update some file handles (for HSQL database files) were left open.
Further tests showed that Updater.performCurrentUpdate() opens 4 new connections to the database using the info in the supplied
ConnectionManager (but it doesn't use the connection already there). The first one of the new connections is not closed before returning. Unfortunately it cannot be closed from client code either, as we have no handle for it.
This is the call stack leading to opening the problematic connection:
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at
chemaxon.util.ConnectionHandler.connectToDatabase(ConnectionHandler.java:429)
at chemaxon.jchem.db.Regenerator.run(Regenerator.java:332)
at
chemaxon.jchem.db.UpdateHandler.recalculateTable(UpdateHandler.java:2994)
at
chemaxon.jchem.db.UpdateHandler.recalculateTable(UpdateHandler.java:2955)
at chemaxon.jchem.db.Updater.regenerateTables(Updater.java:1308)
at chemaxon.jchem.db.Updater.performCurrentUpdate(Updater.java:309)
at chemaxon.jchem.db.Updater.performCurrentUpdate(Updater.java:277)
JChem version: 5.11.1
Database: HSQLDB 2.2.9
Any help would be appreciated.
Many thanks,
Pal