On Tue, 30 Mar 2021 11:30:48 GMT, Aleksei Efimov <aefi...@openjdk.org> wrote:
> Current fix tries to tackle an issue with URL connection referencing > non-existing Jar file entries: > If an entry that doesn't exist is specified in an URL connection the > underlying Jar file is still cached even if an exception is thrown after > that. Such behavior prevents the caller, for instance, a `URLClassLoader`, > from closing a Jar file. > > The proposed fix checks if entry exists before caching a Jar file (only for > cases with enabled caching): > - If entry exists - jar file is cached if it wasn't cached before > - If entry doesn't exist and jar file wasn't cached before - jar file is > closed and exception is thrown > - If entry doesn't exist and jar file was cached before - jar file is kept > cached and exception is thrown > > > The following tests have been used to verify the fix: > - New regression tests > - ``:jdk_core:`` tests > - `api/java_util`,`api/java_net` JCK tests This pull request has now been integrated. Changeset: a611c462 Author: Aleksei Efimov <aefi...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/a611c462 Stats: 372 lines in 6 files changed: 346 ins; 2 del; 24 mod 8264048: Fix caching in Jar URL connections when an entry is missing Co-authored-by: Daniel Fuchs <dfu...@openjdk.org> Reviewed-by: bchristi, dfuchs ------------- PR: https://git.openjdk.java.net/jdk/pull/3263