diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java index 659527cad6..b3ece4b908 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/TailFile.java @@ -629,21 +629,22 @@ public class TailFile extends AbstractProcessor { } final List rolledOffFiles = new ArrayList<>(); - final DirectoryStream dirStream = Files.newDirectoryStream(directory.toPath(), rollingPattern); - for (final Path path : dirStream) { - final File file = path.toFile(); - final long lastMod = file.lastModified(); + try (final DirectoryStream dirStream = Files.newDirectoryStream(directory.toPath(), rollingPattern)) { + for (final Path path : dirStream) { + final File file = path.toFile(); + final long lastMod = file.lastModified(); - if (file.lastModified() < minTimestamp) { - getLogger().debug("Found rolled off file {} but its last modified timestamp is before the cutoff (Last Mod = {}, Cutoff = {}) so will not consume it", - new Object[] {file, lastMod, minTimestamp}); + if (file.lastModified() < minTimestamp) { + getLogger().debug("Found rolled off file {} but its last modified timestamp is before the cutoff (Last Mod = {}, Cutoff = {}) so will not consume it", + new Object[] {file, lastMod, minTimestamp}); - continue; - } else if (file.equals(tailFile)) { - continue; + continue; + } else if (file.equals(tailFile)) { + continue; + } + + rolledOffFiles.add(file); } - - rolledOffFiles.add(file); } // Sort files based on last modified timestamp. If same timestamp, use filename as a secondary sort, as often