diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2019-03-01 12:43:48 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2019-03-01 12:43:48 +0100 |
commit | 91b95027f9fe83000d0649bfc5c9550917a2b023 (patch) | |
tree | 11319a554446614ae27a7d4e5d9430cbb709e80e /configserver/src | |
parent | bed204bfe2f23208ef93e6e91d03e4c857f2a493 (diff) |
Avoid exception in getDeployTime
Diffstat (limited to 'configserver/src')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java | 7 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/application/TenantApplications.java | 2 |
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) |