diff options
Diffstat (limited to 'configserver/src')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java | 2 | ||||
-rw-r--r-- | configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java | 20 |
2 files changed, 14 insertions, 8 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java index 80194337daa..63ab00275bf 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java @@ -631,7 +631,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye private List<String> sortedUnusedFileReferences(File fileReferencesPath, Set<String> fileReferencesInUse, Duration keepFileReferences) { Set<String> fileReferencesOnDisk = getFileReferencesOnDisk(fileReferencesPath); log.log(Level.FINE, () -> "File references on disk (in " + fileReferencesPath + "): " + fileReferencesOnDisk); - Instant instant = Instant.now().minus(keepFileReferences); + Instant instant = clock.instant().minus(keepFileReferences); return fileReferencesOnDisk .stream() .filter(fileReference -> ! fileReferencesInUse.contains(fileReference)) diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java index 3b27d5de24f..c2af7f1ee1f 100644 --- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java +++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java @@ -248,19 +248,24 @@ public class ApplicationRepositoryTest { } @Test - public void deleteUnusedFileReferences() throws IOException, InterruptedException { + public void deleteUnusedFileReferences() throws IOException { File fileReferencesDir = temporaryFolder.newFolder(); Duration keepFileReferencesDuration = Duration.ofSeconds(4); // Add file reference that is not in use and should be deleted (older than 'keepFileReferencesDuration') File filereferenceDirOldest = createFilereferenceOnDisk(new File(fileReferencesDir, "foo")); + clock.advance(Duration.ofSeconds(1)); // Add file references that are not in use and could be deleted IntStream.range(0, 3).forEach(i -> { - createFilereferenceOnDisk(new File(fileReferencesDir, "bar" + i)); - try { Thread.sleep(Duration.ofSeconds(1).toMillis()); } catch (InterruptedException e) { /* ignore */ } + try { + createFilereferenceOnDisk(new File(fileReferencesDir, "bar" + i)); + } catch (IOException e) { + fail(e.getMessage()); + } + clock.advance(Duration.ofSeconds(1)); }); - Thread.sleep(keepFileReferencesDuration.toMillis()); + clock.advance(keepFileReferencesDuration); // Add file reference that is not in use, but should not be deleted (newer than 'keepFileReferencesDuration') File filereferenceDirNewest = createFilereferenceOnDisk(new File(fileReferencesDir, "baz")); @@ -287,10 +292,11 @@ public class ApplicationRepositoryTest { assertTrue(filereferenceDirNewest.exists()); } - private File createFilereferenceOnDisk(File filereferenceDir) { + private File createFilereferenceOnDisk(File filereferenceDir) throws IOException { assertTrue(filereferenceDir.mkdir()); - File bar = new File(filereferenceDir, "file"); - IOUtils.writeFile(bar, Utf8.toBytes("test")); + File file = new File(filereferenceDir, "bar"); + IOUtils.writeFile(file, Utf8.toBytes("test")); + Files.setAttribute(filereferenceDir.toPath(), "lastAccessTime", FileTime.from(clock.instant())); return filereferenceDir; } |