[ http://issues.apache.org/jira/browse/DERBY-557?page=all ]
Bernt M. Johnsen resolved DERBY-557:
------------------------------------
Resolution: Fixed
Committed revision 377998.
> Client driver gets OutOfMemoryError when re-executing statement without
> closing ResultSet
> -----------------------------------------------------------------------------------------
>
> Key: DERBY-557
> URL: http://issues.apache.org/jira/browse/DERBY-557
> Project: Derby
> Type: Bug
> Components: Network Client
> Versions: 10.1.1.0, 10.1.2.0, 10.2.0.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Fix For: 10.1.2.0, 10.2.0.0, 10.1.1.2
> Attachments: DERBY-557-regression-test-v2.diff,
> DERBY-557-regression-test-v3.diff, DERBY-557-regression-test.diff,
> DERBY-557-regression-test.stat, DERBY-557.diff, DERBY-557.stat,
> derbyall_report.txt
>
> When re-executing a statement without closing the old ResultSet, some of the
> old ResultSet's resources are not released, and the network client will
> eventually get an OutOfMemoryError.
> Example:
> Connection c =
> DriverManager.getConnection("jdbc:derby://localhost/mydb");
> PreparedStatement ps = c.prepareStatement("select * from
> sys.systables");
> while (true) {
> ResultSet rs = ps.executeQuery();
> }
> This code will run for some time and then throw an OutOfMemoryError. Same
> thing happens with Statement instead of PreparedStatement. If rs.close() is
> added in the loop, the code works. Explicitly closing the ResultSet should
> not be necessary according to this quote from the JDBC 3.0 spec:
> For Select statements, the statement is complete when the associated result
> set is closed. The result set is closed as soon as one of the following
> occurs:
> - all of the rows have been retrieved
> - the associated Statement object is re-executed
> - another Statement object is executed on the same connection
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira