diff options
author | Harald Musum <musum@yahooinc.com> | 2022-11-09 12:42:39 +0100 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2022-11-09 12:42:39 +0100 |
commit | 0f87e4038bef6ef4404a38b0eab36a6f3405b959 (patch) | |
tree | 7b08be6c73d372a05eb69a933e8000d83b362d08 /configserver | |
parent | 1039fece7c1241356704800be965a5812db8df10 (diff) |
Handle session or applicaton id not found when preparing based on event
Diffstat (limited to 'configserver')
3 files changed, 7 insertions, 3 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java index 60c1d75406a..fe3ec5ef4f3 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v2/ApplicationApiHandler.java @@ -83,7 +83,7 @@ public class ApplicationApiHandler extends SessionHandler { try { Map<String, PartItem> parts = new MultiPartFormParser(request).readParts(); byte[] params; - try (InputStream part = parts.get(MULTIPART_PARAMS).data()) { params = part.readAllBytes(); } ; + try (InputStream part = parts.get(MULTIPART_PARAMS).data()) { params = part.readAllBytes(); } log.log(Level.FINE, "Deploy parameters: [{0}]", new String(params, StandardCharsets.UTF_8)); prepareParams = PrepareParams.fromJson(params, tenantName, zookeeperBarrierTimeout); PartItem appPackagePart = parts.get(MULTIPART_APPLICATION_PACKAGE); 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 e4bbe120c11..62640668932 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 @@ -16,6 +16,7 @@ import com.yahoo.config.provision.Tags; import com.yahoo.config.provision.TenantName; import com.yahoo.path.Path; import com.yahoo.transaction.Transaction; +import com.yahoo.vespa.config.server.NotFoundException; import com.yahoo.vespa.config.server.application.ApplicationSet; import com.yahoo.vespa.config.server.tenant.TenantRepository; @@ -155,7 +156,7 @@ public abstract class Session implements Comparable<Session> { /** Returns application id read from ZooKeeper. Will throw RuntimeException if not found */ public ApplicationId getApplicationId() { return sessionZooKeeperClient.readApplicationId() - .orElseThrow(() -> new RuntimeException("Unable to read application id for session " + sessionId)); + .orElseThrow(() -> new NotFoundException("Unable to read application id for session " + sessionId)); } public Tags getTags() { diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java index 082743e48f9..34cebaca1fa 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionStateWatcher.java @@ -2,10 +2,10 @@ package com.yahoo.vespa.config.server.session; import com.yahoo.text.Utf8; +import com.yahoo.vespa.config.server.NotFoundException; import com.yahoo.vespa.config.server.monitoring.MetricUpdater; import com.yahoo.vespa.curator.Curator; import org.apache.curator.framework.recipes.cache.ChildData; - import java.util.concurrent.Executor; import java.util.logging.Level; import java.util.logging.Logger; @@ -80,6 +80,9 @@ public class SessionStateWatcher { newStatus = Status.parse(Utf8.toString(node.getData())); sessionStatusChanged(newStatus); } + } catch (NotFoundException e) { + log.log(Level.INFO, "Session or application not found when handling session change to " + newStatus.name() + " for session " + sessionId); + metrics.incSessionChangeErrors(); } catch (Exception e) { log.log(Level.WARNING, "Error handling session change to " + newStatus.name() + " for session " + sessionId, e); metrics.incSessionChangeErrors(); |