Hi, I first noticed this strange behavior inserting documents to restart replications that had failed and decided to investigate what I observed. It is probably best to give a reproducible example. First for this test I am using 1.2.0 $ curl localhost:5984 {"couchdb":"Welcome","version":"1.2.0"} I wrote a trivially simple script to write a sequence of the same documents in ruby (any ruby should work ensuring the couchrest gem is installed - 'gem install couchrest') require 'couchrest' server = CouchRest.new 'http://localhost:5984' db = server.database!('test') doc = db.get('test') rescue nil doc ||= CouchRest::Document.new(_id: 'test') 1.upto(3) do |index| doc[:index]=index db.save_doc(doc) p doc end As this is an email I will do all activities using only this script and curl. 1. make sure we start form zero $ curl -X DELETE localhost:5984/test {"ok":true} or {"error":"not_found","reason":"missing"} 2. run script $ ruby testing.rb # # # Perfect, document inserted and updated 3. delete the document $ curl -X DELETE localhost:5984/test/test?rev=3-38668f9c9bcfdadffa9c8aca593a3001 {"ok":true,"id":"test","rev":"4-507344f27f5e55e3e677ae25f1acf587"} 4. run the script again $ ruby testing.rb # # # Perfectly normal behavior, all revision numbers in sequence 5 delete the document again $ curl -X DELETE localhost:5984/test/test?rev=7-8b1c05d8e10b031c52d54549354da6f5 {"ok":true,"id":"test","rev":"8-6065e64dcdcec1acfc0f1fbf331b948e"} OK, everything is working as expected. Now compact the database: curl -H "Content-Type: application/json" -X POST http://localhost:5984/test/_compact {"ok":true} 6 run the script again $ ruby testing.rb # # # It seems as though everything is fine and we are starting from scratch again but .... 7 check if the document exists $ curl http://localhost:5984/test/test {"error":"not_found","reason":"deleted"} Now that is strange, couchdb has responded that the document was created and updated and it does not exist in the database !!! 8 run the script again $ ruby testing.rb # # # Notice the revision sequence numbers continue on as if before the compaction. 9 check if the document exists $ curl http://localhost:5984/test/test {"_id":"test","_rev":"11-b3012f6391add21ed626dad28a6e2699","index":3} It would seem that the first run of the script after compaction is inserting documents that already are in the tombstone and the deleted document continues as the latest version. The second run of the script appends new versions in the way that would be expected if the compaction had not been done. For completeness here is a dump of the meta info for this document at the end of the test: $ curl -s http://localhost:5984/test/test?meta=true | json_pp { "index" : 3, "_id" : "test", "_revs_info" : [ { "status" : "available", "rev" : "11-b3012f6391add21ed626dad28a6e2699" }, { "status" : "available", "rev" : "10-49162ab87eb1cca98391006242e05c1f" }, { "status" : "available", "rev" : "9-8979d2a7a845bed3dff9c7c161e95a9e" }, { "status" : "deleted", "rev" : "8-6065e64dcdcec1acfc0f1fbf331b948e" }, { "status" : "missing", "rev" : "7-8b1c05d8e10b031c52d54549354da6f5" }, { "status" : "missing", "rev" : "6-9d9ccd6dbedde3022ef683af3cd3793d" }, { "status" : "missing", "rev" : "5-41c70119c629df492276862b19a990dc" }, { "status" : "missing", "rev" : "4-507344f27f5e55e3e677ae25f1acf587" }, { "status" : "available", "rev" : "3-38668f9c9bcfdadffa9c8aca593a3001" }, { "status" : "available", "rev" : "2-85e66c4f3bb95acc2f133183a7ecc461" }, { "status" : "available", "rev" : "1-a0814dba083c9453bffa352768a40264" } ], "_rev" : "11-b3012f6391add21ed626dad28a6e2699" } Any comments ? Can anyone explain this behavior ? Thanks in advance, Mike