aboutsummaryrefslogtreecommitdiffstats
path: root/filedistribution
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-10-10 13:42:20 +0200
committerHarald Musum <musum@yahooinc.com>2022-10-10 13:42:20 +0200
commit256f300b77983a2c9090e531ef99bdd7f7ce6123 (patch)
treeb52f311ce313692ff0922f0522b84fec2f57ed65 /filedistribution
parent987e1014e2def189bf30d3e4bc8f719b21e99784 (diff)
Use try-with-resources when getting file references in path
Diffstat (limited to 'filedistribution')
-rw-r--r--filedistribution/src/main/java/com/yahoo/vespa/filedistribution/maintenance/FileDistributionCleanup.java33
1 files changed, 17 insertions, 16 deletions
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/maintenance/FileDistributionCleanup.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/maintenance/FileDistributionCleanup.java
index de5ce9554b5..9c04e7253bb 100644
--- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/maintenance/FileDistributionCleanup.java
+++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/maintenance/FileDistributionCleanup.java
@@ -48,27 +48,28 @@ public class FileDistributionCleanup {
fileReferencesInUse);
}
- public List<String> deleteUnusedFileReferences(File fileReferencesPath,
+ public List<String> deleteUnusedFileReferences(File fileReferencesDir,
Duration keepFileReferencesDuration,
int numberToAlwaysKeep,
Set<String> fileReferencesInUse) {
- log.log(Level.FINE, () -> "Keep unused file references for " + keepFileReferencesDuration);
- if (!fileReferencesPath.isDirectory()) throw new RuntimeException(fileReferencesPath + " is not a directory");
-
- log.log(Level.FINE, () -> "File references in use : " + fileReferencesInUse);
+ if (!fileReferencesDir.isDirectory()) throw new RuntimeException(fileReferencesDir + " is not a directory");
- Stream<String> candidates = sortedUnusedFileReferences(fileReferencesPath.toPath(), fileReferencesInUse, keepFileReferencesDuration);
+ log.log(Level.FINE, () -> "Keep unused file references for " + keepFileReferencesDuration +
+ ", file references in use : " + fileReferencesInUse);
List<String> fileReferencesDeleted = new ArrayList<>();
- // Do not delete the newest ones
- final AtomicInteger i = new AtomicInteger(0);
- candidates.forEach(fileReference -> {
- if (i.incrementAndGet() > numberToAlwaysKeep) {
- fileReferencesDeleted.add(fileReference);
- File file = new File(fileReferencesPath, fileReference);
- if (!IOUtils.recursiveDeleteDir(file))
- log.log(Level.WARNING, "Could not delete " + file.getAbsolutePath());
- }
- });
+ Path fileReferencesPath = fileReferencesDir.toPath();
+ try (Stream<String> candidates = sortedUnusedFileReferences(fileReferencesPath, fileReferencesInUse, keepFileReferencesDuration)) {
+ final AtomicInteger i = new AtomicInteger(0);
+ candidates.forEach(fileReference -> {
+ // Do not delete the newest ones
+ if (i.incrementAndGet() > numberToAlwaysKeep) {
+ fileReferencesDeleted.add(fileReference);
+ File file = new File(fileReferencesDir, fileReference);
+ if (!IOUtils.recursiveDeleteDir(file))
+ log.log(Level.WARNING, "Could not delete " + file.getAbsolutePath());
+ }
+ });
+ }
return fileReferencesDeleted;
}