You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Jan Lehnardt (Updated) (JIRA)" <ji...@apache.org> on 2012/01/06 14:11:39 UTC

[jira] [Updated] (COUCHDB-188) _bulk_docs fails when deleting and adding a doc with the same id

     [ https://issues.apache.org/jira/browse/COUCHDB-188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jan Lehnardt updated COUCHDB-188:
---------------------------------

    Fix Version/s:     (was: 1.2)
                   1.3

Bump to 1.3.x
                
> _bulk_docs fails when deleting and adding a doc with the same id
> ----------------------------------------------------------------
>
>                 Key: COUCHDB-188
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-188
>             Project: CouchDB
>          Issue Type: Bug
>          Components: Database Core
>    Affects Versions: 0.9
>         Environment: CouchDB revision 730414.
>            Reporter: Matt Goodall
>            Assignee: Filipe Manana
>            Priority: Blocker
>             Fix For: 1.3
>
>         Attachments: 0001-Allow-doc-delete-and-creation-in-the-same-bulk-updat.patch
>
>
> CouchDB returns a "412 Precondition Failed" when the list of changes sent to _bulk_docs deletes a document and later creates a document with the same id as the deleted document:
>     {"docs": [
>         {"_id": "docid", "_rev": "<rev>", "_deleted": true},
>         {"_id": "docid"}
>         ]}
> Once fixed, the response JSON document  will return the same docid twice in the list but it's presumably ordered consistently with the request data so any client should be able to understand the response.
> Demonstrating the problem using curl is easy enough:
> $ curl -X PUT http://localhost:5984/test
> {"ok":true}
> $ curl -X PUT -d "{}" http://localhost:5984/test/docid
> {"ok":true,"id":"docid","rev":"4140747751"}
> $ curl -X POST -d '{"docs": [{"_id": "docid", "_rev": "4140747751", "_deleted": true}, {"_id": "docid"}]}' http://localhost:5984/test/_bulk_docs
> {"error":"conflict","reason":"Document update conflict."}
> Note: this is likely related to COUCHDB-172.

--
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