I was suggesting something like this - keys was being built from two buckets, but only deleted on one. Moving your code around a little, would something like this work?
# Clean up import riak print "Clean up time!" client = riak.RiakClient() bucket = client.bucket("blog") keys = bucket.get_keys() print "Keys to be cleaned: " + str(keys) for key in keys: print ("Deleting %s..." % key), not bucket.get(key).delete().exists() for key in keys: print "Verifying %s deleted: %s" % (key, not bucket.get(key).exists()) bucket = client.bucket("users") keys = bucket.get_keys() print "Keys to be cleaned: " + str(keys) for key in keys: print ("Deleting %s..." % key), not bucket.get(key).delete().exists() for key in keys: print "Verifying %s deleted: %s" % (key, not bucket.get(key).exists()) print "Deleted %d keys!" % len(keys) On Thu, Dec 15, 2011 at 8:06 AM, Shuhao Wu <ad...@thekks.net> wrote: > I'm trying to delete all the keys from the users bucket and the blog > bucket because they are all created by my doctests. I don't want these in > my database (they are garbage.. essentially). > > Shuhao > > > > On Thu, Dec 15, 2011 at 9:40 AM, Jon Meredith <jmered...@basho.com> wrote: > >> Hi Shuhau, >> >> Do you intentionally try and delete all of the keys from the users >> bucket? The keys list is built from the keys in the blog and the users >> bucket. Would changing the code to list the blog bucket, delete then >> verify before moving on to the users bucket do what you want? >> >> Jon >> >> On Wed, Dec 14, 2011 at 7:54 PM, Shuhao Wu <ad...@thekks.net> wrote: >> >>> I'm trying to delete all the keys i've created after running some >>> doctests. (I know i should be using the test server.. but it appears that i >>> need to be root to run that...) >>> >>> Here's the script: >>> >>> #!/usr/bin/python >>> if __name__ == "__main__": >>> import doctest >>> print "Running tests...." >>> #doctest.testfile("README.md") # I commented this out because my >>> cleanup is not deleting... >>> print "If nothing happened, success.. otherwise.. DEBUG HOUR!" >>> >>> # Clean up >>> import riak >>> print "Clean up time!" >>> client = riak.RiakClient() >>> bucket = client.bucket("blog") >>> keys = bucket.get_keys() >>> bucket = client.bucket("users") >>> keys.extend(bucket.get_keys()) >>> print "Keys to be cleaned: " + str(keys) >>> >>> for key in keys: >>> print ("Deleting %s..." % key), not bucket.get(key).delete().exists() >>> >>> for key in keys: >>> print "Verifying %s deleted: %s" % (key, not >>> bucket.get(key).exists()) >>> >>> print "Deleted %d keys!" % len(keys) >>> >>> >>> Here's the output: >>> >>> Running tests.... >>> If nothing happened, success.. otherwise.. DEBUG HOUR! >>> Clean up time! >>> Keys to be cleaned: [u'534c8cda268b11e1b1b68ca982440b40', >>> u'b8eb84e8268a11e195748ca982440b40', u'6fa5b678268a11e1bf8d8ca982440b40', >>> u'dada10a6268a11e1a0888ca982440b40', u'549e0e2a268a11e1be1e8ca982440b40', >>> u'4957347e268a11e196e68ca982440b40', u'c03e2df8268b11e1ae5e8ca982440b40', >>> u'ddadfe28268a11e1ad0b8ca982440b40', u'7d54bb7a268a11e187718ca982440b40'] >>> Deleting 534c8cda268b11e1b1b68ca982440b40... True >>> Deleting b8eb84e8268a11e195748ca982440b40... True >>> Deleting 6fa5b678268a11e1bf8d8ca982440b40... True >>> Deleting dada10a6268a11e1a0888ca982440b40... True >>> Deleting 549e0e2a268a11e1be1e8ca982440b40... True >>> Deleting 4957347e268a11e196e68ca982440b40... True >>> Deleting c03e2df8268b11e1ae5e8ca982440b40... True >>> Deleting ddadfe28268a11e1ad0b8ca982440b40... True >>> Deleting 7d54bb7a268a11e187718ca982440b40... True >>> Verifying 534c8cda268b11e1b1b68ca982440b40 deleted: True >>> Verifying b8eb84e8268a11e195748ca982440b40 deleted: True >>> Verifying 6fa5b678268a11e1bf8d8ca982440b40 deleted: True >>> Verifying dada10a6268a11e1a0888ca982440b40 deleted: True >>> Verifying 549e0e2a268a11e1be1e8ca982440b40 deleted: True >>> Verifying 4957347e268a11e196e68ca982440b40 deleted: True >>> Verifying c03e2df8268b11e1ae5e8ca982440b40 deleted: True >>> Verifying ddadfe28268a11e1ad0b8ca982440b40 deleted: True >>> Verifying 7d54bb7a268a11e187718ca982440b40 deleted: True >>> Deleted 9 keys! >>> >>> I can run this multiple times and it doesn't delete it and always show >>> the exact same output... but if i open a separate python console and delete >>> one of these keys via the same method (create a client, get a bucket, get >>> the object via key, delete the object...), this will go down to 9 keys... >>> >>> What's wrong? I'm so confused by this thing.. >>> >>> Shuhao >>> >>> _______________________________________________ >>> riak-users mailing list >>> riak-users@lists.basho.com >>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >>> >>> >> >> >> -- >> Jon Meredith >> Platform Engineering Manager >> Basho Technologies, Inc. >> jmered...@basho.com >> >> > -- Jon Meredith Platform Engineering Manager Basho Technologies, Inc. jmered...@basho.com
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com