The only problem with solution like this I had is that if you'll have a lot of keys you'll get python httplib error "response too long" :-(
On Thu, Dec 15, 2011 at 5:15 PM, Jon Meredith <jmered...@basho.com> wrote: > 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 > >
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com