aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2019-01-30 11:37:28 +0100
committerGitHub <noreply@github.com>2019-01-30 11:37:28 +0100
commit18c60a40dedd0eb314db9295d6a46ee29f809ff7 (patch)
treea4ca5867192b082e29418ad3b7332b4cee9ed213 /configserver
parentc06a7d78d68c22b66e0cdf8b6f4aa838259a85af (diff)
parent41517d52cf381ab35e8593782821125542786da7 (diff)
Merge pull request #8262 from vespa-engine/freva/refuse-to-activate-nodes-on-non-ready-hosts
Refuse to activate nodes on not ready hosts
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java7
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java3
2 files changed, 9 insertions, 1 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java
index bc06d45b29c..0c443c76679 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpErrorResponse.java
@@ -42,7 +42,8 @@ public class HttpErrorResponse extends HttpResponse {
NOT_FOUND,
OUT_OF_CAPACITY,
REQUEST_TIMEOUT,
- UNKNOWN_VESPA_VERSION
+ UNKNOWN_VESPA_VERSION,
+ PARENT_HOST_NOT_READY
}
public static HttpErrorResponse notFoundError(String msg) {
@@ -85,6 +86,10 @@ public class HttpErrorResponse extends HttpResponse {
return new HttpErrorResponse(INTERNAL_SERVER_ERROR, errorCodes.APPLICATION_LOCK_FAILURE.name(), msg);
}
+ public static HttpErrorResponse parentHostNotReady(String msg) {
+ return new HttpErrorResponse(BAD_REQUEST, errorCodes.PARENT_HOST_NOT_READY.name(), msg);
+ }
+
@Override
public void render(OutputStream stream) throws IOException {
new JsonFormat(true).encode(stream, slime);
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java
index 16dfb4773e8..cd2052653ed 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.config.server.http;
import com.yahoo.config.provision.ApplicationLockException;
+import com.yahoo.config.provision.ParentHostUnavailableException;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
import com.yahoo.container.jdisc.LoggingRequestHandler;
@@ -61,6 +62,8 @@ public class HttpHandler extends LoggingRequestHandler {
return HttpErrorResponse.requestTimeout(getMessage(e, request));
} catch (ApplicationLockException e) {
return HttpErrorResponse.applicationLockFailure(getMessage(e, request));
+ } catch (ParentHostUnavailableException e) {
+ return HttpErrorResponse.parentHostNotReady(getMessage(e, request));
} catch (Exception e) {
log.log(LogLevel.WARNING, "Unexpected exception handling a config server request", e);
return HttpErrorResponse.internalServerError(getMessage(e, request));