Merge branch 'feature/check_connection' into 'master'

Make client report connection issues to servers

See merge request sheepitrenderfarm/client!140
This commit is contained in:
Sheepit Renderfarm
2022-08-30 18:11:17 +00:00
3 changed files with 13 additions and 1 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);