Robert Newson created COUCHDB-1510:
--------------------------------------
Summary: new_edits=false on new document causes function_clause
error
Key: COUCHDB-1510
URL: https://issues.apache.org/jira/browse/COUCHDB-1510
Project: CouchDB
Issue Type: Bug
Affects Versions: 1.2
Reporter: Robert Newson
Assignee: Robert Newson
Fix For: 1.2.1, 1.3
The code for handling new_edits=false assumes a previous revision;
couch_db_updater.erl;
fun({Client, {#doc{revs={Pos,[_Rev|PrevRevs]}}=NewDoc, Ref}}, AccTree) ->
but in the case of a new document, there isn't one. The user then receives an
error, the updater process dies with a function clause.
The problem here is that a user (elliotcm) is doing new_edits=false for all
requests, and the intensity of the gen_server crashes under load is sufficient
to propogate upward to the top supervisor, crashing couchdb.
So, is the correct behavior to return a 400 or a 201?
#!/bin/sh
URL=http://localhost:5984/mergetest
curl -XDELETE $URL
curl -XPUT $URL
curl -XPUT -d '{}' $URL/doc?new_edits=false
--
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