diff options
author | Harald Musum <musum@yahooinc.com> | 2021-12-13 12:04:57 +0100 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2021-12-13 12:04:57 +0100 |
commit | 6f4f66a728c3ad83f6764010e737e335167409b0 (patch) | |
tree | be96aa4136a6409280b5b5294b44a83b81f363f6 /filedistribution/src | |
parent | 05d0ca3c8f0b6d91adf358d1de41cdedc9bf1c90 (diff) |
Don't try to download after timeout
Diffstat (limited to 'filedistribution/src')
-rw-r--r-- | filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java index 73d40a40e6f..21a9833c3e0 100644 --- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java +++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownloader.java @@ -11,6 +11,7 @@ import com.yahoo.vespa.config.ConnectionPool; import java.io.File; import java.time.Duration; +import java.time.Instant; import java.util.Optional; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -53,6 +54,7 @@ public class FileReferenceDownloader { } private void waitUntilDownloadStarted(FileReferenceDownload fileReferenceDownload) { + Instant end = Instant.now().plus(downloadTimeout); FileReference fileReference = fileReferenceDownload.fileReference(); int retryCount = 0; Connection connection = connectionPool.getCurrent(); @@ -69,7 +71,7 @@ public class FileReferenceDownloader { // exist on just one config server, and which one could be different for each file reference), so we // should get a new connection for every retry connection = connectionPool.switchConnection(connection); - } while (retryCount < 5); + } while (retryCount < 5 || Instant.now().isAfter(end)); fileReferenceDownload.future().completeExceptionally(new RuntimeException("Failed getting " + fileReference)); downloads.remove(fileReference); |