Merge pull request #1478 from maginatics/clear-container-parameterize-max-errors-1.5.x
Parameterize max errors for clear container
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/DeleteAllKeysInList.java b/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/DeleteAllKeysInList.java
index a472b5b..2e7b5af 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/DeleteAllKeysInList.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/DeleteAllKeysInList.java
@@ -64,10 +64,12 @@
private final ExecutorService userExecutor;
protected final AsyncBlobStore connection;
+
/** Maximum duration in milliseconds of a request. */
- @Inject(optional = true)
- @Named(Constants.PROPERTY_REQUEST_TIMEOUT)
- protected Long maxTime = Long.MAX_VALUE;
+ protected long maxTime = Long.MAX_VALUE;
+
+ /** Maximum times to retry an operation. */
+ protected int maxErrors = 3;
@Inject
DeleteAllKeysInList(@Named(Constants.PROPERTY_USER_THREADS) ExecutorService userExecutor,
@@ -79,6 +81,16 @@
this.retryHandler = retryHandler;
}
+ @Inject(optional = true)
+ void setMaxTime(@Named(Constants.PROPERTY_REQUEST_TIMEOUT) long maxTime) {
+ this.maxTime = maxTime;
+ }
+
+ @Inject(optional = true)
+ void setMaxErrors(@Named(Constants.PROPERTY_MAX_RETRIES) int maxErrors) {
+ this.maxErrors = maxErrors;
+ }
+
public void execute(String containerName) {
execute(containerName, recursive());
}
@@ -92,7 +104,6 @@
message += " recursively";
logger.debug(message);
Map<StorageMetadata, Exception> exceptions = Maps.newHashMap();
- int maxErrors = 3; // TODO parameterize
for (int numErrors = 0; numErrors < maxErrors; ) {
// fetch partial directory listing
PageSet<? extends StorageMetadata> listing;