[
http://jira.jboss.com/jira/browse/JBMESSAGING-1218?page=all ]
Tim Fox updated JBMESSAGING-1218:
---------------------------------
Fix Version/s: 1.4.0.SP3.CP01
Description:
A ResultSet is left open at line 924 JDBCPersistenceManager:loadFromStart.
Also there is a preparedstatement left open in
JDBCPersistenceManager$1HandleBeforeCommit1PCRunner.doTransaction(JDBCPersistenceManager.java:1587)
This line creates a prepared statement within a loop but only the last statement created
will be released. Other examples of this construct, within this file, use a simple guard
to prevent subsequent allocations. This appears to be the only occurrence which does
not."
The preparedstatements will be when the connection is closed, but if you process a large
transaction there is a possibility you could run out of resources in your database for
that transaction. E.g. run out of cursors on Oracle.
was:
A ResultSet is left open at line 924 JDBCPersistenceManager:loadFromStart.
Also:
There is a preparedstatement left open:
"This leak appears to be coming from JBoss Messaging, specifically
JDBCPersistenceManager$1HandleBeforeCommit1PCRunner.doTransaction(JDBCPersistenceManager.java:1587)
This line creates a prepared statement within a loop but only the last statement created
will be released. Other examples of this construct, within this file, use a simple guard
to prevent subsequent allocations. This appears to be the only occurrence which does
not."
The JCA adapter will close this automatically so the only negative effect of this bug is a
warning in the logs.
To ensure the JCA automatically closes the statement make sure:
You have <track-statements> set in your JDBC ds config.
Also check <prepared-statement-cache-size> - is set to an appropriate value - 0
means no cache!
See
http://wiki.jboss.org/wiki/Wiki.jsp?page=ConfigDataSources for more details
If the above is done, then the worst effect should be a WARN from the JCA layer in the
logs
Hence this is flagged as minor
Priority: Major (was: Minor)
ResultSet not explicitly closed in JDBCPersistenceManager
---------------------------------------------------------
Key: JBMESSAGING-1218
URL:
http://jira.jboss.com/jira/browse/JBMESSAGING-1218
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.4.0.SP3
Reporter: Tim Fox
Assigned To: Tim Fox
Fix For: 1.4.0.SP3.CP01, 1.4.1.beta1
A ResultSet is left open at line 924 JDBCPersistenceManager:loadFromStart.
Also there is a preparedstatement left open in
JDBCPersistenceManager$1HandleBeforeCommit1PCRunner.doTransaction(JDBCPersistenceManager.java:1587)
This line creates a prepared statement within a loop but only the last statement created
will be released. Other examples of this construct, within this file, use a simple guard
to prevent subsequent allocations. This appears to be the only occurrence which does
not."
The preparedstatements will be when the connection is closed, but if you process a large
transaction there is a possibility you could run out of resources in your database for
that transaction. E.g. run out of cursors on Oracle.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira