summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2019-09-23 15:37:17 +0200
committerGitHub <noreply@github.com>2019-09-23 15:37:17 +0200
commit814fc9906ae802165680418f9911dc2ccf539f9f (patch)
tree96f159e62d037c13bcc12874a094e7b34fd88cf9 /configserver
parenta60f1a354aa6ff777c326176e31fe0c06278588f (diff)
parentfd70b0a7a36dd80a859aca602e23d2d3bb0c9bdd (diff)
Merge pull request #10748 from vespa-engine/hmusum/log-file-references-used-when-activating-app
Log file references used by app when activating
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java10
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java16
2 files changed, 16 insertions, 10 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index 0e17a31886b..3a9e5a55191 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -5,7 +5,6 @@ import com.google.common.io.Files;
import com.google.inject.Inject;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.component.Version;
-import com.yahoo.component.Vtag;
import com.yahoo.config.FileReference;
import com.yahoo.config.application.api.ApplicationFile;
import com.yahoo.config.application.api.ApplicationMetaData;
@@ -71,8 +70,10 @@ import java.time.Duration;
import java.time.Instant;
import java.util.Arrays;
import java.util.Collection;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.logging.Level;
@@ -326,7 +327,8 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
Deployment deployment = deployFromPreparedSession(localSession, tenant, timeoutBudget.timeLeft());
deployment.setIgnoreSessionStaleFailure(ignoreSessionStaleFailure);
deployment.activate();
- return localSession.getApplicationId();
+ ApplicationId applicationId = localSession.getApplicationId();
+ return applicationId;
}
private Deployment deployFromPreparedSession(LocalSession session, Tenant tenant, Duration timeout) {
@@ -444,6 +446,10 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
return fileReferencesToDelete;
}
+ public Set<FileReference> getFileReferences(ApplicationId applicationId) {
+ return getOptionalApplication(applicationId).map(app -> app.getModel().fileReferences()).orElse(Set.of());
+ }
+
public ApplicationFile getApplicationFileFromSession(TenantName tenantName, long sessionId, String path, LocalSession.Mode mode) {
Tenant tenant = tenantRepository.getTenant(tenantName);
return getLocalSession(tenant, sessionId).getApplicationFile(Path.fromString(path), mode);
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
index b6e1d1873c9..9e81d3c0525 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
@@ -3,6 +3,7 @@ package com.yahoo.vespa.config.server.deploy;
import com.yahoo.component.Version;
import com.yahoo.config.application.api.DeployLogger;
+import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.HostFilter;
import com.yahoo.config.provision.Provisioner;
import com.yahoo.log.LogLevel;
@@ -120,14 +121,12 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
TimeoutBudget timeoutBudget = new TimeoutBudget(clock, timeout);
- try (Lock lock = tenant.getApplicationRepo().lock(session.getApplicationId())) {
+ ApplicationId applicationId = session.getApplicationId();
+ try (Lock lock = tenant.getApplicationRepo().lock(applicationId)) {
validateSessionStatus(session);
NestedTransaction transaction = new NestedTransaction();
- transaction.add(deactivateCurrentActivateNew(applicationRepository.getActiveSession(session.getApplicationId()), session, ignoreSessionStaleFailure));
-
- if (hostProvisioner.isPresent()) {
- hostProvisioner.get().activate(transaction, session.getApplicationId(), session.getAllocatedHosts().getHosts());
- }
+ transaction.add(deactivateCurrentActivateNew(applicationRepository.getActiveSession(applicationId), session, ignoreSessionStaleFailure));
+ hostProvisioner.ifPresent(provisioner -> provisioner.activate(transaction, applicationId, session.getAllocatedHosts().getHosts()));
transaction.commit();
} catch (RuntimeException e) {
throw e;
@@ -139,8 +138,9 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
log.log(LogLevel.INFO, session.logPre() + "Session " + session.getSessionId() +
" activated successfully using " +
- ( hostProvisioner.isPresent() ? hostProvisioner.get() : "no host provisioner" ) +
- ". Config generation " + session.getMetaData().getGeneration());
+ (hostProvisioner.isPresent() ? hostProvisioner.get() : "no host provisioner") +
+ ". Config generation " + session.getMetaData().getGeneration() +
+ ". File references used: " + applicationRepository.getFileReferences(applicationId));
}
/**