fix(fs): close directory file descriptor #207
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.
Related to https://github.com/cryostatio/cryostat/issues/1444
The FileSystem wrapper around
java.nio.file.Files
fails to close theStream<Path>
it opens when listing directory contents. This class is dependency-injected in Cryostat (for testing mock ease) and used in several frequently called codepaths. This leaking fd adds up quite quickly as Cryostat runs and serves requests.To test/verify, try the following:
Then check out this PR,
mvn install
it, update the Cryostatpom.xml
to use the updated-core
, rebuild the container and re-run the test. There is another fd leak (I think in the Cryostat server-side code, checking on it still) that grows much more slowly, but with this leak fixed the number should grow much more slowly than previously.