From f7d0fe5fdfad579e867f01acc1d41b2ec77bd785 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Fri, 1 Jun 2018 01:07:33 +0200 Subject: Separate internal redeploys from application package changes Separate system internal redeploys from application package changes such that we can ignore config updates originating from application package changes if restart on deploy is true, as the config change will be followed by a restart - but continue to effect config changes originating from internal system changes as those will not (and should not) be followed by a restart. --- .../java/com/yahoo/config/model/test/MockApplicationPackage.java | 5 +++++ .../java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java | 1 - .../test/java/com/yahoo/config/model/ApplicationDeployTest.java | 7 +++---- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'config-model') diff --git a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java index 8ca0e5c501c..0cfde3c655c 100644 --- a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java +++ b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config.model.test; +import com.yahoo.config.application.api.ApplicationMetaData; import com.yahoo.config.application.api.ComponentInfo; import com.yahoo.config.application.api.UnparsedConfigDefinition; import com.yahoo.config.application.api.ApplicationFile; @@ -39,6 +40,7 @@ public class MockApplicationPackage implements ApplicationPackage { private final Optional validationOverrides; private final boolean failOnValidateXml; private final QueryProfileRegistry queryProfileRegistry; + private final ApplicationMetaData applicationMetaData; protected MockApplicationPackage(String hosts, String services, List searchDefinitions, String searchDefinitionDir, String deploymentSpec, String validationOverrides, boolean failOnValidateXml, @@ -52,6 +54,7 @@ public class MockApplicationPackage implements ApplicationPackage { this.failOnValidateXml = failOnValidateXml; queryProfileRegistry = new QueryProfileXMLReader().read(asNamedReaderList(queryProfileType), asNamedReaderList(queryProfile)); + applicationMetaData = new ApplicationMetaData("user", "dir", 0L, false, "application", "checksum", 0L, 0L); } @Override @@ -133,6 +136,8 @@ public class MockApplicationPackage implements ApplicationPackage { public QueryProfileRegistry getQueryProfiles() { return queryProfileRegistry; } + public ApplicationMetaData getMetaData() { return applicationMetaData; } + @Override public Reader getRankingExpression(String name) { File expressionFile = new File(searchDefinitionDir, name); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java b/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java index 7444224258e..9801eab9f2b 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/clients/ContainerDocumentApi.java @@ -27,7 +27,6 @@ import java.util.TreeSet; /** * @author Einar M R Rosenvinge - * @since 5.1.11 */ public class ContainerDocumentApi implements FeederConfig.Producer { diff --git a/config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java b/config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java index f113b10f508..177e332e86b 100644 --- a/config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java +++ b/config-model/src/test/java/com/yahoo/config/model/ApplicationDeployTest.java @@ -20,7 +20,6 @@ import com.yahoo.vespa.config.ConfigDefinition; import com.yahoo.vespa.config.ConfigDefinitionKey; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.search.SearchDefinition; -import org.json.JSONException; import org.junit.After; import org.junit.Rule; import org.junit.Test; @@ -290,7 +289,7 @@ public class ApplicationDeployTest { } @Test - public void testConfigDefinitionsFromJars() throws IOException { + public void testConfigDefinitionsFromJars() { String appName = "src/test/cfg//application/app1"; FilesApplicationPackage app = FilesApplicationPackage.fromFile(new File(appName), false); Map defs = app.getAllExistingConfigDefs(); @@ -298,11 +297,11 @@ public class ApplicationDeployTest { } @Test - public void testMetaData() throws IOException, JSONException { + public void testMetaData() throws IOException { File tmp = Files.createTempDir(); String appPkg = TESTDIR + "app1"; IOUtils.copyDirectory(new File(appPkg), tmp); - final DeployData deployData = new DeployData("foo", "bar", "baz", 13l, 1337l, 3l); + final DeployData deployData = new DeployData("foo", "bar", "baz", 13l, false, 1337l, 3l); FilesApplicationPackage app = FilesApplicationPackage.fromFileWithDeployData(tmp, deployData); app.writeMetaData(); FilesApplicationPackage newApp = FilesApplicationPackage.fromFileWithDeployData(tmp, deployData); -- cgit v1.2.3