summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-02-21 21:46:17 +0100
committerGitHub <noreply@github.com>2022-02-21 21:46:17 +0100
commit7a3ad31e30da313e7206aa66e6f99af758ffc769 (patch)
treecc28bdc96e4267fa070dad19582d4d9775ee04d5
parent53a92d38bf515c8249145e196df9694f30bd4629 (diff)
parent034323771c670a51b17c3f9cc4de0652339a193f (diff)
Merge pull request #21288 from vespa-engine/hmusum/set-last-acess-time-for-file-references
Update last access time of file reference when it already exists [run-systemtest]
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java
index d836eb8111f..f4cb7bc1fba 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileDirectory.java
@@ -3,8 +3,6 @@ package com.yahoo.vespa.config.server.filedistribution;
import com.yahoo.config.FileReference;
import com.yahoo.io.IOUtils;
-import java.util.logging.Level;
-
import com.yahoo.text.Utf8;
import net.jpountz.xxhash.XXHash64;
import net.jpountz.xxhash.XXHashFactory;
@@ -19,6 +17,9 @@ import java.nio.channels.FileChannel;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes;
+import java.nio.file.attribute.FileTime;
+import java.time.Instant;
+import java.util.logging.Level;
import java.util.logging.Logger;
public class FileDirectory {
@@ -118,6 +119,11 @@ public class FileDirectory {
"' has content that does not match its hash, deleting everything in " +
destinationDir.getAbsolutePath());
IOUtils.recursiveDeleteDir(destinationDir);
+ } else {
+ // Update last access time (used to keep track of when we can delete unused file references
+ // so update when adding and it already exists)
+ FileTime fileTime = FileTime.from(Instant.now());
+ Files.setAttribute(destinationDir.toPath(), "basic:lastAccessTime", fileTime);
}
}