diff options
Diffstat (limited to 'configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java index d39a1eb777a..0dc7dbda9a1 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/v1/RoutingStatusApiHandler.java @@ -4,6 +4,7 @@ package com.yahoo.vespa.config.server.http.v1; import com.google.inject.Inject; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.Deployer; +import com.yahoo.config.provision.Deployment; import com.yahoo.jdisc.http.HttpRequest; import com.yahoo.path.Path; import com.yahoo.restapi.RestApi; @@ -121,7 +122,9 @@ public class RoutingStatusApiHandler extends RestApiRequestHandler<RoutingStatus currentStatus.status() + " to " + wantedStatus.status()); changeStatus(upstreamNames, wantedStatus); try { - deployer.deployFromLocalActive(instance, Duration.ofMinutes(1)); + Optional<Deployment> deployment = deployer.deployFromLocalActive(instance, Duration.ofMinutes(1)); + if (deployment.isEmpty()) throw new IllegalArgumentException("No deployment of " + instance + " found"); + deployment.get().activate(); } catch (Exception e) { log.log(Level.SEVERE, "Failed to redeploy " + instance + ". Reverting routing status to " + currentStatus.status(), e); |