diff options
-rw-r--r-- | filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java | 8 |
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} */ |