summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-07-14 09:41:17 +0200
committerHarald Musum <musum@verizonmedia.com>2020-07-14 09:41:17 +0200
commit118d2292bcb786f1fe627e49930d58e613684400 (patch)
tree73504e2ce913dfc1f2c1ea8b51019416c20faf71 /configserver
parent975ac66a4d56d744dd8435cee6dc147c038dc08c (diff)
Handle logging when app has been deleted
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java
index 3643b237d7e..a6818d1e43f 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/Session.java
@@ -70,9 +70,18 @@ public abstract class Session implements Comparable<Session> {
* @return log preamble
*/
public String logPre() {
- return getApplicationId().equals(ApplicationId.defaultId())
- ? TenantRepository.logPre(getTenantName())
- : TenantRepository.logPre(getApplicationId());
+ Optional<ApplicationId> applicationId;
+ // We might not be able to read application id from zookeeper
+ // e.g. when the app has been deleted. Use tenant name in that case.
+ try {
+ applicationId = Optional.of(getApplicationId());
+ } catch (Exception e) {
+ applicationId = Optional.empty();
+ }
+ return applicationId
+ .filter(appId -> ! appId.equals(ApplicationId.defaultId()))
+ .map(TenantRepository::logPre)
+ .orElse(TenantRepository.logPre(getTenantName()));
}
public Instant getCreateTime() {