diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2019-01-30 11:37:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-30 11:37:28 +0100 |
commit | 18c60a40dedd0eb314db9295d6a46ee29f809ff7 (patch) | |
tree | a4ca5867192b082e29418ad3b7332b4cee9ed213 /configserver | |
parent | c06a7d78d68c22b66e0cdf8b6f4aa838259a85af (diff) | |
parent | 41517d52cf381ab35e8593782821125542786da7 (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.java | 7 | ||||
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/http/HttpHandler.java | 3 |
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)); |