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

Reply via email to