summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2021-10-14 11:52:36 +0200
committerHarald Musum <musum@yahooinc.com>2021-10-14 11:52:36 +0200
commitffe1453578849b7ed82fe2c00df1d895d4f0e584 (patch)
tree6add5b8c801329540b33de15682d886a584bc05a
parent5a3c92ad0a9b3bfb77c215f9b415bac8eed83e97 (diff)
Improve download of application package in maintainer
Set downloadFromOtherSourceIfNotFound to false, so that the receiving config server that gets the request don't try to download a file reference. This will be done by the ApplicationPackageMaintainer on the other server anyway.
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java2
-rw-r--r--filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java4
-rw-r--r--filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownload.java2
4 files changed, 9 insertions, 5 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java
index 5314f95a5b9..ee775fa7afb 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/maintenance/ApplicationPackageMaintainer.java
@@ -16,6 +16,7 @@ import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.defaults.Defaults;
import com.yahoo.vespa.filedistribution.Downloads;
import com.yahoo.vespa.filedistribution.FileDownloader;
+import com.yahoo.vespa.filedistribution.FileReferenceDownload;
import com.yahoo.vespa.flags.FlagSource;
import java.io.File;
@@ -74,7 +75,10 @@ public class ApplicationPackageMaintainer extends ConfigServerMaintainer {
if (! fileReferenceExistsOnDisk(downloadDirectory, applicationPackage)) {
log.fine(() -> "Downloading missing application package for application " + applicationId + " (session " + sessionId + ")");
- if (fileDownloader.getFile(applicationPackage).isEmpty()) {
+ FileReferenceDownload download = new FileReferenceDownload(applicationPackage,
+ false,
+ this.getClass().getSimpleName());
+ if (fileDownloader.getFile(download).isEmpty()) {
failures++;
log.warning("Failed to download application package for application " + applicationId + " (session " + sessionId + ")");
continue;
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java
index ec94b845546..1cb6b2a13cd 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/filedistribution/FileServerTest.java
@@ -57,7 +57,7 @@ public class FileServerTest {
public void requireThatNonExistingFileWillBeDownloaded() throws IOException {
String dir = "123";
assertFalse(fileServer.hasFile(dir));
- FileReferenceDownload foo = new FileReferenceDownload(new FileReference(dir), true, "foo");
+ FileReferenceDownload foo = new FileReferenceDownload(new FileReference(dir));
assertFalse(fileServer.hasFileDownloadIfNeeded(foo));
writeFile(dir);
assertTrue(fileServer.hasFileDownloadIfNeeded(foo));
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 0eef005311d..32b7a0a167e 100644
--- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java
+++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileDownloader.java
@@ -41,8 +41,8 @@ public class FileDownloader implements AutoCloseable {
private final FileReferenceDownloader fileReferenceDownloader;
private final Downloads downloads;
- public FileDownloader(List<String> configservers, Supervisor supervisor) {
- this(getConnectionPool(configservers, supervisor), supervisor);
+ public FileDownloader(List<String> configServers, Supervisor supervisor) {
+ this(getConnectionPool(configServers, supervisor), supervisor);
}
public FileDownloader(ConnectionPool connectionPool, Supervisor supervisor) {
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownload.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownload.java
index cf62a67484e..470d94ce749 100644
--- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownload.java
+++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceDownload.java
@@ -13,7 +13,7 @@ public class FileReferenceDownload {
private final FileReference fileReference;
private final CompletableFuture<Optional<File>> future;
// If a config server wants to download from another config server (because it does not have the
- // file itself) we set this flag to true to avoid an eternal loop
+ // file itself) we set this flag to false to avoid an eternal loop
private final boolean downloadFromOtherSourceIfNotFound;
private final String client;