summaryrefslogtreecommitdiffstats
path: root/config-application-package
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-06-01 01:07:33 +0200
committerJon Bratseth <bratseth@oath.com>2018-06-01 01:07:33 +0200
commitf7d0fe5fdfad579e867f01acc1d41b2ec77bd785 (patch)
tree2c9b2241bf49a01cf84a6fc0e3dd221b08fb30fe /config-application-package
parent4919fb84be7edc03f7c7feb0080ff0c5f705f654 (diff)
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.
Diffstat (limited to 'config-application-package')
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java22
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java12
2 files changed, 25 insertions, 9 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java
index f48dffecb27..cd13305c009 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/DeployData.java
@@ -8,27 +8,37 @@ package com.yahoo.config.model.application.provider;
*/
public class DeployData {
- /* Which user deployed */
+ /** Which user deployed */
private final String deployedByUser;
- /* Name of application given by user */
+ /** Name of application given by user */
private final String applicationName;
- /* The absolute path to the directory holding the application */
+ /** The absolute path to the directory holding the application */
private final String deployedFromDir;
- /* Timestamp when a deployment was made */
+ /** Timestamp when a deployment was made */
private final long deployTimestamp;
+ /** Whether this is an internal redeploy, not caused by an application package change */
+ private final boolean internalRedeploy;
+
/* Application generation. Incremented by one each time an application is deployed. */
private final long generation;
private final long currentlyActiveGeneration;
- public DeployData(String deployedByUser, String deployedFromDir, String applicationName, Long deployTimestamp, Long generation, long currentlyActiveGeneration) {
+ public DeployData(String deployedByUser,
+ String deployedFromDir,
+ String applicationName,
+ Long deployTimestamp,
+ boolean internalRedeploy,
+ Long generation,
+ long currentlyActiveGeneration) {
this.deployedByUser = deployedByUser;
this.deployedFromDir = deployedFromDir;
this.applicationName = applicationName;
this.deployTimestamp = deployTimestamp;
+ this.internalRedeploy = internalRedeploy;
this.generation = generation;
this.currentlyActiveGeneration = currentlyActiveGeneration;
}
@@ -45,6 +55,8 @@ public class DeployData {
return deployTimestamp;
}
+ public boolean isInternalRedeploy() { return internalRedeploy; }
+
public long getGeneration() {
return generation;
}
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
index 9bfcd4ecb6d..8fc871a1aa9 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
@@ -113,9 +113,13 @@ public class FilesApplicationPackage implements ApplicationPackage {
}
private static ApplicationMetaData metaDataFromDeployData(File appDir, DeployData deployData) {
- return new ApplicationMetaData(deployData.getDeployedByUser(), deployData.getDeployedFromDir(),
- deployData.getDeployTimestamp(), deployData.getApplicationName(),
- computeCheckSum(appDir), deployData.getGeneration(),
+ return new ApplicationMetaData(deployData.getDeployedByUser(),
+ deployData.getDeployedFromDir(),
+ deployData.getDeployTimestamp(),
+ deployData.isInternalRedeploy(),
+ deployData.getApplicationName(),
+ computeCheckSum(appDir),
+ deployData.getGeneration(),
deployData.getCurrentlyActiveGeneration());
}
@@ -566,7 +570,7 @@ public class FilesApplicationPackage implements ApplicationPackage {
}
public static ApplicationMetaData readMetaData(File appDir) {
- ApplicationMetaData defaultMetaData = new ApplicationMetaData(appDir, "n/a", "n/a", 0l, "", 0l, 0l);
+ ApplicationMetaData defaultMetaData = new ApplicationMetaData(appDir, "n/a", "n/a", 0l, false, "", 0l, 0l);
File metaFile = new File(appDir, META_FILE_NAME);
if (!metaFile.exists()) {
return defaultMetaData;