ZF-8578: Zend_Service_Amazon_S3::cleanBucket() does not clean all objects as documentation implies

Issue Type: Bug Created: 2009-12-18T02:57:48.000+0000 Last Updated: 2011-05-27T15:10:46.000+0000 Status: Resolved Fix version(s): - 1.11.7 (02/Jun/11)

Reporter: Julian Davchev (jmut) Assignee: Enrico Zimuel (zimuel) Tags: - Zend_Service_Amazon

Related issues: Attachments:


From what I see in trunk cleanBucket is still removing only objects returned by

$objects = $this->getObjectsByBucket($bucket);

This is wrong as it would return default value by amazon which is 1000 objects hence not cleaning whole bucket

Several options: - Documentation asks for users to call cleanBucket() until false returned - cleanBucket() makes use of $params argument that is currently in trunk (no stable release of it)

More on this

Excerpt from… Efficiently Deleting Objects

Deleting a large number of objects for which you don't have an external list can be made faster and easier by using the marker function of the LIST operation. Call LIST to get an initial set of objects to DELETE. Step through the list deleting each and saving the key of the last object in the list. Call LIST again using the last object deleted as a marker, and repeat this process until all desired objects have been deleted.


Posted by Enrico Zimuel (zimuel) on 2011-05-27T14:42:30.000+0000

Fixed on trunk (commit 24047): added a while to delete more than 1000 objects using the suggestion reported here (Efficiently Deleting Objects):…

Posted by Enrico Zimuel (zimuel) on 2011-05-27T15:10:36.000+0000

Resolved in branches/release-1.11 (commit 24048)

Have you found an issue?

See the Overview section for more details.


© 2006-2018 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.