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 "Anurag Shekhar (JIRA)" <ji...@apache.org> on 2008/04/02 13:42:24 UTC

[jira] Updated: (DERBY-3354) Select from large lob table with embedded gives OutOfMemoryError

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

Anurag Shekhar updated DERBY-3354:
----------------------------------

    Attachment: derby-3354_preview.diff

In this patch I have introduced  a WeakHashMap to hold lob objects. 
The WeakHashMap has lob objects as key and null as values. 
The existing lobMapping is used only if a locater is requested (ie when accessed from client driver). 

With this patch the attached test case (LocLeak.java) runs without getting out of memory exception (without free call from LocLeak). 

This patch has changes related to Clob only and I havn;t run any test other that attached LocLeak. I will submit a complete patch shortly.



> Select from large lob table with embedded gives OutOfMemoryError
> ----------------------------------------------------------------
>
>                 Key: DERBY-3354
>                 URL: https://issues.apache.org/jira/browse/DERBY-3354
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.3.1.4, 10.3.2.1, 10.4.0.0
>            Reporter: Kathey Marsden
>            Assignee: Anurag Shekhar
>         Attachments: derby-3354.diff, derby-3354_preview.diff, LocLeak.java
>
>
> Retrieving from a large table with lobs gives an OutOfMemoryException, even if free() is explictly called on the lob.   I believe this is because EmbedConnection.addLobMapping is called for every lob creation but is never cleared until commit or rollback, even if the lob is freed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.