Re-insering a document silently fails after compact is executed
---------------------------------------------------------------

                 Key: COUCHDB-1415
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1415
             Project: CouchDB
          Issue Type: Bug
          Components: Database Core
    Affects Versions: 1.1.1
         Environment: Tested on multiple linux platforms
            Reporter: Viktor Szabo


When a document is re-inserted after a compact operation using the same 
contents it was originally created, the insert operation is silently ignored, 
leaving the client unaware of the fact it's document is not available in the 
database.

Can be reproduced using the following sequence of steps:

alias curl='curl -H "Content-Type: application/json"'
url="http://localhost:5984/database";

1 curl -X PUT $url
2 curl -X POST $url -d '{"_id": "bug", "key": "value"}'
3 curl -X DELETE "$url/bug?rev=1-59414e77c768bc202142ac82c2f129de"
4 curl -X POST "$url/_compact"
5 curl -X POST $url -d '{"_id": "bug", "key": "value"}'
6 curl -X GET "$url/bug"
  (bug here)

1 {"ok":true}
  201
2 [{"ok":true,"id":"bug","rev":"1-59414e77c768bc202142ac82c2f129de"}]
  201
3 {"ok":true,"id":"bug","rev":"2-9b2e3bcc3752a3a952a3570b2ed4d27e"}
  200
4 {"ok":true}
  202
5 [{"ok":true,"id":"bug","rev":"1-59414e77c768bc202142ac82c2f129de"}]
  201
6 {"error":"not_found","reason":"deleted"}
  404

CouchDB shouldn't report "ok" on step 5 and then go on to claim that the doc is 
deleted. Also, it seems to work on second try:

7 curl -X POST $url -d '{"_id": "bug", "key": "value"}'
8 curl -X GET "$url/bug"

7 {"ok":true,"id":"bug","rev":"3-674f864b73df1c80925e48436e21d550"}
  201
8 {"_id":"bug","_rev":"3-674f864b73df1c80925e48436e21d550","key":"value"}
  200


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to