couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Lenz (JIRA)" <j...@apache.org>
Subject [jira] Commented: (COUCHDB-266) PUTting json docs > 1MB causes Uncaught error in HTTP request: {exit,{body_too_large,content_length}}
Date Tue, 24 Feb 2009 13:58:01 GMT

    [ https://issues.apache.org/jira/browse/COUCHDB-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12676278#action_12676278
] 

Christopher Lenz commented on COUCHDB-266:
------------------------------------------

First, here's a simple way to reproduce this problem:

$ ls -lh big.json
-rw-r--r--  1 chris  staff   1,1M 24 Feb 14:36 big.json

$ curl -T big.json http://localhost:5984/testing/big
curl: (55) Send failure: Broken pipe
{"error":"body_too_large","reason":"content_length"}


The problem is caused by a mistake in the mochiweb_request:stream_body/4 that jchris submitted
to MochiWeb. I've confirmed that the bug is also in the Mochiweb repository, and will create
an issue for that project.

The patch is simple enough:

Index: src/mochiweb/mochiweb_request.erl 
=================================================================== 
--- src/mochiweb/mochiweb_request.erl   (revision 747380) 
+++ src/mochiweb/mochiweb_request.erl   (working copy) 
@@ -182,7 +182,7 @@ 
             true ->  
                 {NewLength, [Bin | BinAcc]} 
             end 
-        end, {0, []}, ?MAX_RECV_BODY), 
+        end, {0, []}, MaxBody), 
     put(?SAVE_BODY, Body), 
     Body. 



> PUTting json docs > 1MB causes Uncaught error in HTTP request: {exit,{body_too_large,content_length}}

> ------------------------------------------------------------------------------------------------------
>
>                 Key: COUCHDB-266
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-266
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>    Affects Versions: 0.9
>         Environment:  Apache CouchDB 0.9.0a747258
>            Reporter: Jeff Hinrichs
>            Assignee: Christopher Lenz
>
> error displays itself when trying to PUT  a json document that is > 1MB.  First noticed
in the python interface, confirmed with curl
> [Tue, 24 Feb 2009 13:30:00 GMT] [error] [<0.1113.0>] Uncaught error in HTTP request:
{exit,{body_too_large,content_length}}
> 2 	
> 3 	[Tue, 24 Feb 2009 13:30:00 GMT] [debug] [<0.1113.0>] Stacktrace: [{mochiweb_request,stream_body,5},
> 4 	{mochiweb_request,recv_body,2},
> 5 	{couch_httpd,json_body,1},
> 6 	{couch_httpd_db,db_doc_req,3},
> 7 	{couch_httpd_db,do_db_req,2},
> 8 	{couch_httpd,handle_request,3},
> 9 	{mochiweb_http,headers,4},
> 10 	{proc_lib,init_p,5}] 
> modifying src/mochiweb/mochiweb_request.erl > -define(MAX_RECV_BODY, (1024*1024))

> to something bigger, say -define(MAX_RECV_BODY, (1024*1024*16))
> alleviates the problem temporarily.
> issue confirmed by cmlenz on irc, he believed it to be a regression

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


Mime
View raw message