[
https://issues.apache.org/jira/browse/COUCHDB-188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Filipe Manana resolved COUCHDB-188.
-----------------------------------
Resolution: Fixed
Fix applied to master (6d1d23b7d0eba4de3c4097907adc37b09191196e).
> _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