Fixing bad behavior in IOUtil.deletePaths #1416
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The method
IOUtil.deletePaths(Iterable<Path>)
had pathological behavior.Path
is anIterable<Path>
which iterates over the subpaths in the Path.Therefore, this version was binding instead of the varargs version that takes
Path...
Then the method would try to delete all of the subpaths in the path which doesn't delete the intended target and could delete random files.
deletePath
which is used for deleting a single path.Fixes #DiskBackedQueue closeIOResources is broken #1414