aboutsummaryrefslogtreecommitdiffstats
path: root/configserver/src
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-06-18 08:38:25 +0200
committerHarald Musum <musum@verizonmedia.com>2020-06-18 08:38:25 +0200
commit3f954b1f3173d2633582e7b834cf978ab856180d (patch)
tree70852ba3ad23b607508b48b67eee7c0038b9f177 /configserver/src
parent63d70c6d9baf43c56d68182db097546385b0ab68 (diff)
Use another method for getting active session
Do not use a method that will throw an exception if no active session is found, that is a valid case
Diffstat (limited to 'configserver/src')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java7
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java15
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java2
3 files changed, 11 insertions, 13 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 9625bdf7447..c44a839d24d 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
@@ -438,15 +438,15 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
Set<String> fileReferencesInUse = new HashSet<>();
// Intentionally skip applications that we for some reason do not find
// or that we fail to get file references for (they will be retried on the next run)
- for (var application : listApplications()) {
+ for (var applicationId : listApplications()) {
try {
- Optional<Application> app = getOptionalApplication(application);
+ Optional<Application> app = getOptionalApplication(applicationId);
if (app.isEmpty()) continue;
fileReferencesInUse.addAll(app.get().getModel().fileReferences().stream()
.map(FileReference::value)
.collect(Collectors.toSet()));
} catch (Exception e) {
- log.log(Level.WARNING, "Getting file references in use for '" + application + "' failed", e);
+ log.log(Level.WARNING, "Getting file references in use for '" + applicationId + "' failed", e);
}
}
log.log(Level.FINE, "File references in use : " + fileReferencesInUse);
@@ -502,6 +502,7 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
}
}
+ // Will return Optional.empty() if getting application fails (instead of throwing an exception)
private Optional<Application> getOptionalApplication(ApplicationId applicationId) {
try {
return Optional.of(getApplication(applicationId));
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 39fac90d242..319520cef74 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
@@ -32,7 +32,7 @@ import java.util.logging.Logger;
/**
* The process of deploying an application.
- * Deployments are created by a {@link ApplicationRepository}.
+ * Deployments are created by an {@link ApplicationRepository}.
* Instances of this are not multithread safe.
*
* @author Ulf Lilleengen
@@ -138,7 +138,6 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
if ( ! timeoutBudget.hasTimeLeft()) throw new RuntimeException("Timeout exceeded when trying to activate '" + applicationId + "'");
-
RemoteSession previousActiveSession;
try (Lock lock = tenant.getApplicationRepo().lock(applicationId)) {
validateSessionStatus(session);
@@ -156,13 +155,11 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
}
session.waitUntilActivated(timeoutBudget);
-
- log.log(Level.INFO, session.logPre() + "Session " + session.getSessionId() +
- " activated successfully using " +
- (hostProvisioner.isPresent() ? hostProvisioner.get().getClass().getSimpleName() : "no host provisioner") +
- ". Config generation " + session.getMetaData().getGeneration() +
- (previousActiveSession != null ? ". Activated session based on previous active session " + previousActiveSession.getSessionId() : "") +
- ". File references used: " + applicationRepository.getFileReferences(applicationId));
+ log.log(Level.INFO, session.logPre() + "activated successfully using " +
+ hostProvisioner.map(provisioner -> provisioner.getClass().getSimpleName()).orElse("no host provisioner") +
+ ". Config generation " + session.getMetaData().getGeneration() +
+ (previousActiveSession != null ? ". Based on previous active session " + previousActiveSession.getSessionId() : "") +
+ ". File references: " + applicationRepository.getFileReferences(applicationId));
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
index 24e1011ac50..c7dc295c42d 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionRepository.java
@@ -555,7 +555,7 @@ public class SessionRepository {
return Optional.of(createLocalSession(sessionDir,
applicationId,
sessionId,
- applicationRepo.activeSessionOf(applicationId)));
+ getActiveSessionId(applicationId)));
}
return Optional.empty();
}