You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Liam Sharp (JIRA)" <ji...@apache.org> on 2015/04/15 16:43:58 UTC

[jira] [Updated] (DERBY-6798) Forward only ResultSet doesn't release passed rows for GC

     [ https://issues.apache.org/jira/browse/DERBY-6798?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Liam Sharp updated DERBY-6798:
------------------------------
    Attachment: ResultSetTest.java

Sample Program to expose behaviour.

> Forward only ResultSet doesn't release passed rows for GC
> ---------------------------------------------------------
>
>                 Key: DERBY-6798
>                 URL: https://issues.apache.org/jira/browse/DERBY-6798
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.11.1.1
>         Environment: MAC OSX 10.9.5
>            Reporter: Liam Sharp
>            Priority: Critical
>              Labels: easytest
>         Attachments: ResultSetTest.java
>
>
> I'd like to iterate over a ResultSet that is larger than the amount of memory available to my application. I thought this would be possible with a ResultSet.TYPE_FORWARD_ONLY but memory usage appears to increase as I loop through the results and not be GC'd. Is my understanding correct? I've tried this using the H2 database and it appears to do this.
> I've attached a sample program to illustrate this. It creates a large table then iterates over it logging out the memory usage as it goes. There is a pause at the end of the iteration to allow the user to attach a debugger (such as jvisualvm) to inspect memory usage and request GC.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)