[Mongrel] clients hang on large PUTs to Mongrel::HttpHandler-based web service

Randy Fischer rf at ufl.edu
Wed Jun 4 00:35:16 EDT 2008


On Tue, Jun 3, 2008 at 8:16 PM, Zed A. Shaw <zedshaw at zedshaw.com> wrote:
> On Tue, 3 Jun 2008 17:09:05 -0400
> "Randy Fischer" <rf at ufl.edu> wrote:
>>
>> I'm wondering if this is a simple 32-bit int issue in the ragel-generated
>> code?
>
> Shouldn't be, since the ragel code is only used to parse the headers,
> and when that's done it then just streams 16k chunks from the socket to
> a tempfile.  Now, if your headers are 4G then I'd like to know how you
> did that since Mongrel would block you hard.

Naw, it's the content length in the body of a PUT,  I ask since I saw

   int content_length

in http11_parser.c

> Only thing that I could think of is that you aren't setting a size
> properly at some point.  Either your header reports the wrong size, or
> you're not setting it.

Easily double checked with tcpdump, and the curl dump headers stuff.
And so I will - thanks for the suggestion.

-Randy


More information about the Mongrel-users mailing list