incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Klaus Trainer (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COUCHDB-911) Repeating a doc._id in a _bulk_docs request results in erroneous "Document conflict" error
Date Thu, 07 Oct 2010 08:01:31 GMT

    [ https://issues.apache.org/jira/browse/COUCHDB-911?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12918816#action_12918816
] 

Klaus Trainer commented on COUCHDB-911:
---------------------------------------

Sorry, I need to currect myself. I was too stupid to correctly specify the _bulk_docs URL.

I can confirm that the described behavior also applies to CouchDB 1.0.1.

curl http://127.0.0.1:5984/db/_bulk_docs -d '{"docs": [{"_id":"foo"}, {"_id":"foo"}]}' -H
'Content-Type: application/json'
[{"id":"foo","error":"conflict","reason":"Document update conflict."},{"id":"foo","error":"conflict","reason":"Document
update conflict."}]

However, one of the updates actually succeeded.


Note that when "all_or_nothing": true is specified, the result is different.

curl http://127.0.0.1:5984/db/_bulk_docs -d '{"all_or_nothing": true, "docs": [{"_id":"foo"},
{"_id":"foo"}]}' -H 'Content-Type: application/json'
[{"id":"foo","rev":"1-967a00dff5e02add41819138abb3284d"},{"id":"foo","rev":"1-967a00dff5e02add41819138abb3284d"}]

> Repeating a doc._id in a _bulk_docs request results in erroneous "Document conflict"
error
> ------------------------------------------------------------------------------------------
>
>                 Key: COUCHDB-911
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-911
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 1.0
>         Environment: Cloudant BigCouch EC2 node
>            Reporter: Jay Nelson
>            Priority: Minor
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> Repeating an "_id" in a _bulk_docs post data file results in both entries being reported
as document conflict errors.  The first occurrence actual inserts into the database, and only
the second occurrence should report a conflict.
> curl -d '{ "docs": [ {"_id":"foo"}, {"_id","foo"} ] }' -H 'Content-Type:application/json'
-X POST http://appadvice.cloudant.com/foo/_bulk_docs
> [{"id":"foo","error":"conflict","reason":"Document update conflict."},{"id":"foo","error":"conflict","reason":"Document
update conflict."}]
> But the database shows that one new document was actually inserted.
> Only the second occurrence should report conflict.  The first occurrence should report
the "_rev" property of the newly inserted doc.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message