From cfa117fdd69d76c6a84951491a98b14251977ef0 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Wed, 19 Aug 2020 10:30:13 +0200 Subject: Revert "Throw exception instead of returning null when reading application id…" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/yahoo/vespa/config/server/deploy/Deployment.java | 9 +++++---- .../vespa/config/server/session/SessionZooKeeperClient.java | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) 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 21103b490fd..8c2e6027691 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 @@ -131,10 +131,11 @@ public class Deployment implements com.yahoo.config.provision.Deployment { if ( ! prepared) prepare(); - validateSessionStatus(session); - ApplicationId applicationId = session.getApplicationId(); - try (ActionTimer timer = applicationRepository.timerFor(applicationId, "deployment.activateMillis")) { + try (ActionTimer timer = applicationRepository.timerFor(session.getApplicationId(), "deployment.activateMillis")) { TimeoutBudget timeoutBudget = new TimeoutBudget(clock, timeout); + validateSessionStatus(session); + ApplicationId applicationId = session.getApplicationId(); + if ( ! timeoutBudget.hasTimeLeft()) throw new RuntimeException("Timeout exceeded when trying to activate '" + applicationId + "'"); RemoteSession previousActiveSession; @@ -147,7 +148,7 @@ public class Deployment implements com.yahoo.config.provision.Deployment { throw e; } catch (Exception e) { - throw new InternalServerException("Error when activating '" + applicationId + "'", e); + throw new InternalServerException("Error activating application", e); } waiter.awaitCompletion(timeoutBudget.timeLeft()); diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java index 80fa972a4d2..b0236e4e4e4 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java @@ -11,6 +11,7 @@ import com.yahoo.config.provision.AllocatedHosts; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.AthenzDomain; import com.yahoo.config.provision.DockerImage; +import com.yahoo.config.provision.NodeFlavors; import com.yahoo.path.Path; import com.yahoo.text.Utf8; import com.yahoo.transaction.Transaction; @@ -142,8 +143,7 @@ public class SessionZooKeeperClient { public ApplicationId readApplicationId() { String idString = configCurator.getData(applicationIdPath()); - if (idString == null) throw new RuntimeException("Unable to read application id at " + applicationIdPath()); - return ApplicationId.fromSerializedForm(idString); + return idString == null ? null : ApplicationId.fromSerializedForm(idString); } void writeApplicationPackageReference(FileReference applicationPackageReference) { -- cgit v1.2.3