couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Chesneau (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-1510) new_edits=false on new document causes function_clause error
Date Mon, 09 Jul 2012 13:32:34 GMT


Benoit Chesneau commented on COUCHDB-1510:

imo the correct behaviour should be in that case to just create the document and return 200/201
since new_edit=false will be respected in that case. Not sure how the code allows it right
now though.
> new_edits=false on new document causes function_clause error
> ------------------------------------------------------------
>                 Key: COUCHDB-1510
>                 URL:
>             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:!default.jspa
For more information on JIRA, see:


View raw message