db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2480) DriverManager.getConnection leaks memory using EmbeddedDriver on non-existent database
Date Sat, 24 Mar 2007 17:32:32 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12483860
] 

Dag H. Wanvik commented on DERBY-2480:
--------------------------------------

Hi Jeff, I looked at the patch, since I am working on the related
DERBY-1947. I think the change in your patch which adds the call on
cleanupOnError to EmbedConnection's constructor is orthogonal to the
changes I made in DERBY-1947-1, and it looks good.

I think that maybe the change you made to EmbedConnection's public
close method really addresses DERBY-1947? (I ran your repro
without OOM with just the change to the constructor's catch clause). 


I think it is better to make the changes for DERBY-1947 as a patch to
that issue, so you may want to simplify this patch to just keep the
constructor change. 

You may want to have a look at the patch I made for DERBY-1947. Feel
free to comment on that :) 



> DriverManager.getConnection leaks memory using EmbeddedDriver on non-existent database
> --------------------------------------------------------------------------------------
>
>                 Key: DERBY-2480
>                 URL: https://issues.apache.org/jira/browse/DERBY-2480
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1, 10.2.1.6, 10.2.2.0,
10.3.0.0
>         Environment: Windows Vista, JDK 1.4.2_13
> Solaris 10, Sun JDK 1.4.2 & 1.5.0
>            Reporter: Jeff Clary
>            Priority: Minor
>         Attachments: heap-server-Xmx32m.png, Patch_DERBY-1947_and_DERBY-2480.diff, testOpenOfMissingDatabase.java
>
>
> Repeated calls to java.sql.DriverManager.getConnection("jdbc:derby:C:\\DOES_NOT_EXIST")
leak memory and eventually lead to an OutOfMemoryError.
> This bug is similar to DERBY-1947 in that ContextManager objects are not getting removed
from the HashSet.  The attached test program demonstrates the issue.  When run with VM options
-Xms8m -Xmx8m, it throws an OutOfMemoryError after 19022 calls to DriverManager.getConnection.

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


Mime
View raw message