You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Paul Joseph Davis (JIRA)" <ji...@apache.org> on 2010/08/31 06:32:53 UTC

[jira] Created: (COUCHDB-876) Runaway RAM usage with validate_doc_update and debug logging.

Runaway RAM usage with validate_doc_update and debug logging.
-------------------------------------------------------------

                 Key: COUCHDB-876
                 URL: https://issues.apache.org/jira/browse/COUCHDB-876
             Project: CouchDB
          Issue Type: Bug
          Components: HTTP Interface
    Affects Versions: 1.0.1
         Environment: trunk
            Reporter: Paul Joseph Davis


Using validate_doc_update and debug logging causes CouchDB to consume all available RAM.

To reproduce:

# edit local.ini (or local_dev.ini) to use debug logging
# start couchdb
$ curl -X PUT http://127.0.0.1:5984/foo
$ curl -X PUT http://127.0.0.1:5984/testdb2/_design/foo -d '{"validate_doc_update":"function() {}"}'
$ dd if=/dev/zero of=test.mp3 bs=1024 count=20000
$ openssl base64 -in test.mp3 -out test.mp3.b64 # On ubuntu, there's a base64 command
$ echo "{\"hello\":\"" > test.json; echo `cat test.mp3.b64` >> test.json; echo "\"}" >> test.json
$ curl -X PUT http://127.0.0.1:5984/foo/bar -d @test.json


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


[jira] Updated: (COUCHDB-876) Runaway RAM usage with validate_doc_update and debug logging.

Posted by "Paul Joseph Davis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Joseph Davis updated COUCHDB-876:
--------------------------------------

    Skill Level: Regular Contributors Level (Easy to Medium)

> Runaway RAM usage with validate_doc_update and debug logging.
> -------------------------------------------------------------
>
>                 Key: COUCHDB-876
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-876
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 1.0.1
>         Environment: trunk
>            Reporter: Paul Joseph Davis
>
> Using validate_doc_update and debug logging causes CouchDB to consume all available RAM.
> To reproduce:
> # edit local.ini (or local_dev.ini) to use debug logging
> # start couchdb
> $ curl -X PUT http://127.0.0.1:5984/foo
> $ curl -X PUT http://127.0.0.1:5984/testdb2/_design/foo -d '{"validate_doc_update":"function() {}"}'
> $ dd if=/dev/zero of=test.mp3 bs=1024 count=20000
> $ openssl base64 -in test.mp3 -out test.mp3.b64 # On ubuntu, there's a base64 command
> $ echo "{\"hello\":\"" > test.json; echo `cat test.mp3.b64` >> test.json; echo "\"}" >> test.json
> $ curl -X PUT http://127.0.0.1:5984/foo/bar -d @test.json

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


[jira] Commented: (COUCHDB-876) Runaway RAM usage with validate_doc_update and debug logging.

Posted by "Paul Joseph Davis (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/COUCHDB-876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12904514#action_12904514 ] 

Paul Joseph Davis commented on COUCHDB-876:
-------------------------------------------

Also, it isn't related to the actual view server. The goto_ on IRC says its independent of the view server used even going so far as to write a mock to replace couchjs.

My instinct is that this is related to a ?LOG_DEBUG("~p", [Doc]) somewhere over there. I'd bisect the code but I'm distracted by other things.

> Runaway RAM usage with validate_doc_update and debug logging.
> -------------------------------------------------------------
>
>                 Key: COUCHDB-876
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-876
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 1.0.1
>         Environment: trunk
>            Reporter: Paul Joseph Davis
>
> Using validate_doc_update and debug logging causes CouchDB to consume all available RAM.
> To reproduce:
> # edit local.ini (or local_dev.ini) to use debug logging
> # start couchdb
> $ curl -X PUT http://127.0.0.1:5984/foo
> $ curl -X PUT http://127.0.0.1:5984/testdb2/_design/foo -d '{"validate_doc_update":"function() {}"}'
> $ dd if=/dev/zero of=test.mp3 bs=1024 count=20000
> $ openssl base64 -in test.mp3 -out test.mp3.b64 # On ubuntu, there's a base64 command
> $ echo "{\"hello\":\"" > test.json; echo `cat test.mp3.b64` >> test.json; echo "\"}" >> test.json
> $ curl -X PUT http://127.0.0.1:5984/foo/bar -d @test.json

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