Agree. The problem here is that the `BackoffLimitedRetryHandler` is not only used to retry IO failures. It is also configured as the [default server error retry handler](https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/http/handlers/DelegatingRetryHandler.java#L56).
Could it be a better approach to create a new [IOExceptionRetryHandler](https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/http/IOExceptionRetryHandler.java) implementation (that could delegate to the backoff one), and configure it as [the default one](https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/http/IOExceptionRetryHandler.java#L25)? This way we keep the current behavior for other uses of the backoff retry handler unchanged this new class would [only handle the IOExceptions](https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/http/internal/BaseHttpCommandExecutorService.java#L110) (which is what we're trying to achieve here). WDYT? --- Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds/pull/744#issuecomment-101270297
