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

Knut Anders Hatlen reassigned DERBY-2162:
-----------------------------------------

    Assignee: Knut Anders Hatlen

Java 7 added a close() method to URLClassLoader for releasing the jar files. 
See [https://bugs.openjdk.java.net/browse/JDK-4167874].

If I enable testDatabaseInClasspath() and add a call to URLClassLoader.close() 
when it resets the context class loader, the test passes for me with JDK 7u51 
on Windows. It fails to delete dclt.jar if I don't add the call to close().

I'll try to get the test enabled permanently on Java 7 and higher using the new 
method.

> Shutting down a database loaded from a jar file via the classpath and 
> URLClassLoader  leaves an open file reference to the jar file containing the 
> database.
> ------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2162
>                 URL: https://issues.apache.org/jira/browse/DERBY-2162
>             Project: Derby
>          Issue Type: Bug
>          Components: Services
>    Affects Versions: 10.2.1.6, 10.3.1.4
>            Reporter: Daniel John Debrunner
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>              Labels: derby_triage10_5_2
>
> A bug in java.net.URLClassLoader causes the underlying jar file to be held 
> open once a resource has been fetched and opened.
> Loading a class or just accessing the URL for the resource does not keep the 
> jar open. Reported the bug to Sun, it is similar to the existing bug Java bug 
> 4950148 but in this case no amount of garbage collection will close the jar.
> Derby exposes this as all containers/files are opened using as resources when 
> loading the database from the classpath.
> On windows this is seen as the inability to delete the jar file, seen by the 
> fixture testDatabaseInClasspath in DatabaseClassLoadingTest.
> Similar to DERBY-2083 but due to a different cause.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to