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
