summaryrefslogtreecommitdiffstats
path: root/configserver/src
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-03-01 12:43:48 +0100
committerJon Marius Venstad <venstad@gmail.com>2019-03-01 12:43:48 +0100
commit91b95027f9fe83000d0649bfc5c9550917a2b023 (patch)
tree11319a554446614ae27a7d4e5d9430cbb709e80e /configserver/src
parentbed204bfe2f23208ef93e6e91d03e4c857f2a493 (diff)
Avoid exception in getDeployTime
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/application/TenantApplications.java2
2 files changed, 6 insertions, 3 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 9933b973726..481f071a32e 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
@@ -70,6 +70,7 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
+import java.util.OptionalLong;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -263,8 +264,10 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
@Override
public Optional<Instant> lastDeployTime(ApplicationId application) {
Tenant tenant = tenantRepository.getTenant(application.tenant());
- if (tenant == null) return Optional.empty();
- LocalSession activeSession = getActiveSession(tenant, application);
+ if (tenant == null || ! tenant.getApplicationRepo().exists(application)) return Optional.empty();
+ OptionalLong activeSessionId = tenant.getApplicationRepo().activeSessionOf(application);
+ if ( ! activeSessionId.isPresent()) return Optional.empty();
+ LocalSession activeSession = tenant.getLocalSessionRepo().getSession(activeSessionId.getAsLong());
if (activeSession == null) return Optional.empty();
return Optional.of(Instant.ofEpochSecond(activeSession.getCreateTime()));
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
index a27c2b3603e..81eb4107089 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java
@@ -135,7 +135,7 @@ public class TenantApplications {
*
* @param applicationId an {@link ApplicationId}
* @return session id of given application id.
- * @throws IllegalArgumentException if the application does not exist
+ * @throws IllegalArgumentException if the application has no active session
*/
public long requireActiveSessionOf(ApplicationId applicationId) {
return activeSessionOf(applicationId)