diff --git a/src/main/java/com/sheepit/client/Client.java b/src/main/java/com/sheepit/client/Client.java index 4e02da6..5842c78 100644 --- a/src/main/java/com/sheepit/client/Client.java +++ b/src/main/java/com/sheepit/client/Client.java @@ -1102,12 +1102,16 @@ 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 SERVER_CONNECTION_FAILED: + confirmJobReturnCode = Type.NETWORK_ISSUE; + break; 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/Error.java b/src/main/java/com/sheepit/client/Error.java index 9fec51a..ed0aef3 100644 --- a/src/main/java/com/sheepit/client/Error.java +++ b/src/main/java/com/sheepit/client/Error.java @@ -109,6 +109,7 @@ public class Error { ERROR_NO_ROOT(2), ERROR_BAD_RESPONSE(3), ERROR_REQUEST_FAILED(5), + SERVER_CONNECTION_FAILED(6), ; private final int id; diff --git a/src/main/java/com/sheepit/client/Server.java b/src/main/java/com/sheepit/client/Server.java index d2f6586..eaa85f5 100644 --- a/src/main/java/com/sheepit/client/Server.java +++ b/src/main/java/com/sheepit/client/Server.java @@ -653,6 +653,13 @@ public class Server extends Thread { return ServerCode.UNKNOWN; } + catch (ConnectException e) { + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + e.printStackTrace(pw); + this.log.error(checkpoint, String.format("Server::HTTPSendFile Error in upload process. Exception %s stacktrace ", e.getMessage()) + sw.toString()); + return ServerCode.SERVER_CONNECTION_FAILED; + } catch (IOException e) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw);