Make client report connection issues to servers
This commit is contained in:
committed by
Sheepit Renderfarm
parent
36b506aa6f
commit
3d5d91a1e4
@@ -1090,12 +1090,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;
|
||||
|
||||
@@ -108,6 +108,7 @@ public class Error {
|
||||
ERROR_NO_ROOT(2),
|
||||
ERROR_BAD_RESPONSE(3),
|
||||
ERROR_REQUEST_FAILED(5),
|
||||
SERVER_CONNECTION_FAILED(6),
|
||||
;
|
||||
|
||||
private final int id;
|
||||
|
||||
@@ -650,6 +650,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);
|
||||
|
||||
Reference in New Issue
Block a user