summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-01-28 14:47:45 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-01-28 14:47:45 +0100
commit241da9e873d3060762a457ae3e475c27f9214f41 (patch)
treed99de544587ff584a2b90234950c34d69fe3fc75 /configserver
parent6e09cef2cff581b6a4634aa39bcc121a6bed6df8 (diff)
Retry in controller if parent host is not yet ready
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..43ccf8e69e4 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.ParentHostNotReadyException;
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 (ParentHostNotReadyException 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));