public static boolean isRecoverableStatus()

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