[
https://issues.apache.org/jira/browse/DERBY-2480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12484757
]
John H. Embretsen commented on DERBY-2480:
------------------------------------------
I tried the patch, DERBY-2480-1.diff, and it seems to fix this issue. Ran the
repro (with modified database path on Solaris) against sane jars, 1M iterations
with the embedded driver (8 MB max heap; fails after less than 20k iterations
without the patch) and 160k iterations with the client driver (16 MB max heap
in the server VM). I saw no signs of a memory leak. I used JDK 6 for testing
and its JConsole tool for monitoring.
> 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: DERBY-2480-1.diff, 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.