Hi,

I'm a bit confused why this was closed. Perhaps a description of the
"new behaviour" is available somewhere?

The only mention of anything related to a change in _bulk_docs I've
*noticed* is about not failing everything in the list of updates
(might be nice if that was optional, actually) and the associated
error reporting. However, that doesn't necessarily fix the problem I
described.

Can anyone explain how the planned change fixes things?

Thanks, Matt

2009/1/24 Jan Lehnardt (JIRA) <[email protected]>:
>
>     [ 
> https://issues.apache.org/jira/browse/COUCHDB-188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
>  ]
>
> Jan Lehnardt closed COUCHDB-188.
> --------------------------------
>
>       Resolution: Invalid
>    Fix Version/s: 0.9
>
> bulk update will get a new behaviour in 0.9. Closing
>
>> _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
>>             Fix For: 0.9
>>
>>
>> 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.
> -
> You can reply to this email to add a comment to the issue online.
>
>

Reply via email to