Skip to content

Bigcouch restarts on PUTs to update handler with bodies larger than a determined size.

On a test machine, I create a file at @/tmp/body.json@ containing a 23 Mb body, and then do:

#!/bin/sh

HOST=127.0.0.1
PORT=5984

DB=test-db
DOC=_design/docs/_update/put/largedoc

curl -X POST \
    -d @/tmp/body.json \
    -H "Content-Type: application/json" \
    http://@${HOST}:${PORT}/${DB}/${DOC}

This causes the server to restart:

[Mon, 20 Jan 2014 19:11:10 GMT] [debug] [<0.123.0>] [--------] Include Doc: <<"_design/_replicator">> {1,
                                                                       <<91,250,
                                                                         44,153,
                                                                         238,254,
                                                                         43,46,
                                                                         180,150,
                                                                         45,181,
                                                                         10,163,
                                                                         207,212>>}
[Mon, 20 Jan 2014 19:11:10 GMT] [info] [<0.94.0>] [--------] Apache CouchDB has started on http://127.0.0.1:5986/
[Mon, 20 Jan 2014 19:11:10 GMT] [debug] [<0.161.0>] [--------] Include Doc: <<"test-db">> {1,
                                                           <<90,26,223,65,177,
                                                             206,177,151,166,
                                                             69,36,46,166,15,
                                                             225,205>>}

Note: bodies smaller than 23 Mb do not cause the server to restart.

The bigcouch lead developer has commented on this problem:

16:05  the only other thing would be couchjs's stack size, which is not configurable in bigcouch afaik (though it is in recent couchdb's), but it wouldn't crash beam.

(from redmine: created on 2014-01-20, closed on 2014-03-11)