[
https://issues.apache.org/jira/browse/COUCHDB-911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Kocoloski updated COUCHDB-911:
-----------------------------------
Skill Level: Committers Level (Medium to Hard) (was: New Contributors
Level (Easy))
Summary: Concurrent updates to the same document generate erroneous
conflict messages (was: Repeating a doc._id in a _bulk_docs request results in
erroneous "Document conflict" error)
This is a bug in group commits. _bulk_docs is one way to generate a group
commit, but it's not the only one. Two concurrent writers trying to update the
same document will also trigger this bug. They'll both receive a 409 Conflict
response, but one of the edits will be saved.
We can't sweep this one under the rug by talking about proper usage of
_bulk_docs.
> Concurrent updates to the same document generate erroneous conflict messages
> ----------------------------------------------------------------------------
>
> 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
> Fix For: 1.2
>
> Attachments: 0001-Fix-whitespace.patch,
> 0002-Failing-test-for-duplicates-in-bulk-docs.patch,
> 0003-Add-references-to-docs-to-prevent-dups-from-being-co.patch
>
> 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.
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