This is an automated email from the ASF dual-hosted git repository.

jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 7becb7c  GEODE-4793: Ensure that Files.list() closes resources (#1572)
7becb7c is described below

commit 7becb7c2526b338b7cef5a73c2a3d96c1156208b
Author: Jens Deppe <jde...@pivotal.io>
AuthorDate: Wed Mar 7 10:10:29 2018 -0800

    GEODE-4793: Ensure that Files.list() closes resources (#1572)
    
    - This was causing some DUnits to fail on Windows.
---
 .../java/org/apache/geode/internal/cache/DiskStoreImpl.java | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java 
b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
index c4d8fa0..33d58f1 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/DiskStoreImpl.java
@@ -63,6 +63,7 @@ import 
java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
 import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
@@ -2029,10 +2030,14 @@ public class DiskStoreImpl implements DiskStore {
   private void cleanupOrphanedBackupDirectories() {
     for (DirectoryHolder directoryHolder : getDirectoryHolders()) {
       try {
-        List<Path> backupDirectories = 
Files.list(directoryHolder.getDir().toPath())
-            .filter((path) -> path.getFileName().toString()
-                .startsWith(BackupService.DATA_STORES_TEMPORARY_DIRECTORY))
-            .filter(p -> Files.isDirectory(p)).collect(Collectors.toList());
+        List<Path> backupDirectories;
+        // Make sure we close the stream's resources
+        try (Stream<Path> stream = 
Files.list(directoryHolder.getDir().toPath())) {
+          backupDirectories = stream
+              .filter((path) -> path.getFileName().toString()
+                  .startsWith(BackupService.DATA_STORES_TEMPORARY_DIRECTORY))
+              .filter(p -> Files.isDirectory(p)).collect(Collectors.toList());
+        }
         for (Path backupDirectory : backupDirectories) {
           try {
             logger.info("Deleting orphaned backup temporary directory: " + 
backupDirectory);

-- 
To stop receiving notification emails like this one, please contact
jensde...@apache.org.

Reply via email to