diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2020-08-19 08:19:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-19 08:19:18 +0200 |
commit | 9a178a0ff6d77704afb1c8d0e2848a764e89e01c (patch) | |
tree | 8a3d79cb74f52753206e88d250cc6aa4ae825f99 | |
parent | 2f0ccbe4e07afee74513e9e89a2a037db47fd542 (diff) | |
parent | 534f1c40d7f96cf4ce4e76840e4fabe3a85a7b6c (diff) |
Merge pull request #14092 from vespa-engine/hmusum/throw-instead-of-returning-null
Throw exception instead of returning null when reading application id…
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java | 9 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionZooKeeperClient.java | 4 |
2 files changed, 6 insertions, 7 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 8c2e6027691..21103b490fd 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,11 +131,10 @@ public class Deployment implements com.yahoo.config.provision.Deployment { if ( ! prepared) prepare(); - try (ActionTimer timer = applicationRepository.timerFor(session.getApplicationId(), "deployment.activateMillis")) { + validateSessionStatus(session); + ApplicationId applicationId = session.getApplicationId(); + try (ActionTimer timer = applicationRepository.timerFor(applicationId, "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; @@ -148,7 +147,7 @@ public class Deployment implements com.yahoo.config.provision.Deployment { throw e; } catch (Exception e) { - throw new InternalServerException("Error activating application", e); + throw new InternalServerException("Error when activating '" + applicationId + "'", 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 cf1e07788ff..9e39322c4b1 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,7 +11,6 @@ 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; @@ -149,7 +148,8 @@ public class SessionZooKeeperClient { public ApplicationId readApplicationId() { String idString = configCurator.getData(applicationIdPath()); - return idString == null ? null : ApplicationId.fromSerializedForm(idString); + if (idString == null) throw new RuntimeException("Unable to read application id at " + applicationIdPath()); + return ApplicationId.fromSerializedForm(idString); } void writeApplicationPackageReference(FileReference applicationPackageReference) { |