From d35939707614fa73783f0f7fef30166789853385 Mon Sep 17 00:00:00 2001 From: Laurent Clouet Date: Sun, 17 Jul 2022 11:40:01 +0200 Subject: [PATCH] Fix: handle http500 response from shepherd --- src/main/java/com/sheepit/client/Client.java | 7 ++++++- src/main/java/com/sheepit/client/Server.java | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/sheepit/client/Client.java b/src/main/java/com/sheepit/client/Client.java index b02ccde..b31d587 100644 --- a/src/main/java/com/sheepit/client/Client.java +++ b/src/main/java/com/sheepit/client/Client.java @@ -1090,7 +1090,12 @@ import okhttp3.HttpUrl; // the client cannot recover from this error (it's server side config) so exit the retry loop confirmJobReturnCode = Type.IMAGE_TOO_LARGE; break retryLoop; - + + case ERROR_BAD_RESPONSE: + // set the error and retry on next loop + confirmJobReturnCode = Type.ERROR_BAD_UPLOAD_RESPONSE; + break; + default: // do nothing, try to do a request on the next loop break; diff --git a/src/main/java/com/sheepit/client/Server.java b/src/main/java/com/sheepit/client/Server.java index 9c30d04..d2424cd 100644 --- a/src/main/java/com/sheepit/client/Server.java +++ b/src/main/java/com/sheepit/client/Server.java @@ -641,6 +641,9 @@ public class Server extends Thread { this.log.error(response.body().string()); return ServerCode.JOB_VALIDATION_IMAGE_TOO_LARGE; } + else if (r == HttpURLConnection.HTTP_INTERNAL_ERROR) { + return ServerCode.ERROR_BAD_RESPONSE; + } else { this.log.error(String.format("Server::HTTPSendFile Unknown response received from server: %s", response.body().string())); }