couchdb-python and httplib2
If you're using couchdb-python, there's a nasty bug in httplib2 which causes all sorts of weird stuff to happen. The underlying issue is that httplib2 repeats certain requests (PUT, and DELETE). For instance, if you delete a document or a database, the first request succeeds, but the second fails (with a 404 error) because it's already gone. Also, if you store something, the first PUT will go through, but the second won't and you'll get a document update conflict.
You can determine if this is happening by running the test suite that comes with couchdb-python. Just check out the latest couchdb-python, and run 'python setup.py test'. If most tests fail, then you should httplib2.
The couchdb bug is here. This is where you can find the quick patch.
If you're affected by this, star/comment the httplib2 issue here
Filed under: technical couchdb python