> + 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