Details
-
Improvement
-
Status: Patch Available
-
Minor
-
Resolution: Unresolved
-
3.2.0
-
None
-
None
-
Patch
Description
synchronized (DELETE_ON_EXIT) { Set<Entry<FileContext, Set<Path>>> set = DELETE_ON_EXIT.entrySet(); for (Entry<FileContext, Set<Path>> entry : set) { FileContext fc = entry.getKey(); Set<Path> paths = entry.getValue(); for (Path path : paths) { try { fc.delete(path, true); } catch (IOException e) { LOG.warn("Ignoring failure to deleteOnExit for path " + path); } } } DELETE_ON_EXIT.clear();
- Include the IOException in the logging so that admins can know why the file was not deleted
- Do not bother clearing out the data structure. This code is only called if the JVM is going down. Better to spend the time allowing another shutdown hook to run than to spend time cleaning this thing up.
- Use Guava MultiMap for readability
- Paths are currently stored in a TreeSet. This set implementation orders the files by names. It does not seem worth much to order the files. Use a faster HashSet.