aboutsummaryrefslogtreecommitdiffstats
path: root/filedistribution
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2021-10-17 22:10:26 +0200
committerHarald Musum <musum@yahooinc.com>2021-10-17 22:10:26 +0200
commite84ae35d562365a2daa05f95e145435a50431c6d (patch)
tree9deadf42bf046cae630c2aeaaf1ace3da3f457ce /filedistribution
parent4d60d2845dba1fcfb2b68bd64a616d50578bf88c (diff)
Add convenience method for checking if file reference already exists
Diffstat (limited to 'filedistribution')
-rw-r--r--filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java
index 1d638a427f9..e5cff0eb2e1 100644
--- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java
+++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java
@@ -119,13 +119,19 @@ public class FileDownloader implements AutoCloseable {
}
}
+ boolean fileReferenceExists(FileReference fileReference) {
+ return getFileFromFileSystem(fileReference).isPresent();
+ }
+
boolean isDownloading(FileReference fileReference) {
return downloads.get(fileReference).isPresent();
}
/** Start a download, don't wait for result */
public void downloadIfNeeded(FileReferenceDownload fileReferenceDownload) {
- getFutureFile(fileReferenceDownload);
+ if (fileReferenceExists(fileReferenceDownload.fileReference())) return;
+
+ download(fileReferenceDownload);
}
/** Download, the future returned will be complete()d by receiving method in {@link FileReceiver} */