in s3-artifact-storage-agent/src/main/java/jetbrains/buildServer/artifacts/s3/download/S3DownloadHttpUtil.java [48:69]
public static boolean isRecoverableStatus(int statusCode) {
switch (statusCode) {
// retry 5xx errors just in case some proxy is faulty or server is in cleanup (503)
case HttpStatus.SC_INTERNAL_SERVER_ERROR:
case HttpStatus.SC_NOT_IMPLEMENTED:
case HttpStatus.SC_BAD_GATEWAY:
case HttpStatus.SC_SERVICE_UNAVAILABLE:
case HttpStatus.SC_GATEWAY_TIMEOUT:
return true;
// retry timeouted requests
case HttpStatus.SC_REQUEST_TIMEOUT:
return true;
// when the artifact storage plugin gets reloaded, there is a short amount of time when the old plugin is already
// unloaded but the new one is not yet loaded; this results in controller not being registered anymore, thus returning 404
case HttpStatus.SC_NOT_FOUND:
return true;
default:
return false;
}
}