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] Delete objects in a container efficiently. (#214)
Date Fri, 21 Mar 2014 20:48:14 GMT
> +       * a timeout. Also, when the reference is removed from this list and when
> +       * the executorService removes the reference that it has maintained, the
> +       * future will be marked for GC since there should be no other references
> +       * to it. This is important because this code can generate an unbounded
> +       * number of futures.
> +       */
> +      final List<AtomicReference<ListenableFuture<Void>>> outstandingFutures
= Collections
> +            .synchronizedList(new ArrayList<AtomicReference<ListenableFuture<Void>>>());
> +      while (retries > 0) {
> +         deleteFailure.set(false);
> +         executeOneIteration(containerName, listOptions.clone(), semaphore,
> +               outstandingFutures, deleteFailure);
> +         // Wait for all futures to complete by waiting to acquire all
> +         // semaphores.
> +         try {
> +            if (!semaphore.tryAcquire(numOutStandingRequests, maxTime,

These timeouts provide little value over the per-operation timouts and we may want to remove
them in a subsequent commit.

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