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 "Dominik Stadler (Updated) (JIRA)" <ji...@apache.org> on 2011/10/12 10:29:11 UTC

[jira] [Updated] (DERBY-5457) Memory is not freed after OutOfMemoryError, thus preventing Derby from recovering

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

Dominik Stadler updated DERBY-5457:
-----------------------------------

    Attachment: One instance of RAMTransaction keeps 700M.jpg

This is probably expected in my case because the transaction was kept open so long, but the memory dump was taken at a point where the client connection is gone already, so I would expect the memory from being freed again.
                
> Memory is not freed after OutOfMemoryError, thus preventing Derby from recovering
> ---------------------------------------------------------------------------------
>
>                 Key: DERBY-5457
>                 URL: https://issues.apache.org/jira/browse/DERBY-5457
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.6.2.1
>         Environment: Derby Server 10.6.2.1 on Windows 7 with Derby JDBC Client 10.6.2.1 connections. Client uses OpenJPA as ORM Provider
>            Reporter: Dominik Stadler
>              Labels: memory
>         Attachments: One instance of RAMTransaction keeps 700M.jpg
>
>
> After some uptime, my Derby Server goes OOM with the following errors:
> {quote}
> 2011-10-03 10:35:21.002 GMT : Security manager installed using the Basic server security policy.
> 2011-10-03 10:35:23.295 GMT : Apache Derby Network Server - 10.6.2.1 - (999685) started and ready to accept connections on port 11527
> Exception in thread "DRDAConnThread_12" java.lang.OutOfMemoryError: Java heap space
> Exception in thread "NetworkServerThread_2" java.lang.OutOfMemoryError: GC overhead limit exceeded
> Exception in thread "DRDAConnThread_3" java.lang.OutOfMemoryError: GC overhead limit exceeded
> {quote}
> I suspect that I create transactions that are too big, so the OOM is not really of concern to me here untill I have investigated the actual cause. 
> However I would expect the Derby Server to recover from this situation as soon as the connection to the Client application is closed, but this does not seem to happen, I have memory dumps from a point in time when the Client was already closed and they show that there are still large instances of RAMTransaction kept in memory. 
> I will attach screenshots from MAT which shows the memory usage and the objects keeping this in memory, please adjust handling of OOM so that the memory is freed here.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira