The existing approach for deleting objects in a container suffers
from a head-of-line blocking problem. This commit implements a better
scheme which does not have that problem. This scheme uses a counting
semaphore for making sure that a certain number of futures are
issued in parallel. As each of these futures is completed, one
permit of the semaphore is released.

Added unit tests for testing this new scheme.
You can merge this Pull Request by running:

  git pull https://github.com/maginatics/jclouds deleteallkeys-v2

Or you can view, comment on it, or merge it online at:

  https://github.com/jclouds/jclouds/pull/214

-- Commit Summary --

  * Delete objects in a container efficiently.

-- File Changes --

    M 
blobstore/src/main/java/org/jclouds/blobstore/strategy/internal/DeleteAllKeysInList.java
 (417)
    M 
blobstore/src/test/java/org/jclouds/blobstore/strategy/internal/DeleteAllKeysInListTest.java
 (143)

-- Patch Links --

https://github.com/jclouds/jclouds/pull/214.patch
https://github.com/jclouds/jclouds/pull/214.diff

Reply via email to