jclouds-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Gaul <notificati...@github.com>
Subject Re: [jclouds] JCLOUDS-137: Retry on HTTP 500 AtmosError 1040 (#285)
Date Tue, 11 Feb 2014 04:22:51 GMT
> +   private int retryCountLimit = 5;
> +   @Resource
> +   protected Logger logger = Logger.NULL;
> +
> +   public boolean shouldRetryRequest(HttpCommand command, HttpResponse response) {
> +      if (command.getFailureCount() > retryCountLimit) {
> +         return false;
> +      }
> +      if (response.getStatusCode() == 500) {
> +         byte[] content = HttpUtils.closeClientButKeepContentStream(response);
> +         // Content can be null in the case of HEAD requests
> +         if (content != null) {
> +            try {
> +               AtmosError error = utils.parseAtmosErrorFromContent(command, response,
> +                        new String(content));
> +               if (error.getCode() == 1040) {  // The server is busy. Please try again.

I retabulated the 500 error codes and we could retry on most of these, although I have some
concern since I have never experienced these errors:

Error Code | Error Message                                                | HTTP Status Code
and Description
---------- | ------------------------------------------------------------ | --------------------------------
1001       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error 
1007       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error
1013       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error 
1019       | The server encountered an I/O error.  Please try again.      | 500 Internal Server
Error 
1020       | The requested resource is missing or could not be found.     | 500 Internal Server
Error 
1024       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error 
1025       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error 
1026       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error
1027       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error 
1028       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error 
1029       | The server encountered an internal error.  Please try again. | 500 Internal Server
Error 
1040       | The server is busy. Please try again                         | 500 Internal Server
Error 

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/285/files#r9613290
Mime
View raw message