tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remy Maucherat <>
Subject Re: [5.0] [PROPOSAL] Make output buffer size limit configurable
Date Thu, 10 Jul 2003 21:49:23 GMT
Jan Luehe wrote:
> Currently, the limit up to which the size of an
> org.apache.coyote.tomcat5.OutputBuffer may grow is identical to the
> original buffer size:
>     public OutputBuffer(int size) {
>         bb = new ByteChunk(size);
>         bb.setLimit(size);
>         ...
>         cb = new CharChunk(size);
>         cb.setLimit(size);
>     }
> As a result of this, if the response does not fit in the output
> buffer, the buffer is flushed, and the response does no longer include
> a "Content-Length" header. Instead, it includes a "Transfer-Encoding"
> header whose value is "chunked":
>   Transfer-Encoding: chunked
> It may be useful (e.g., for some benchmarks such as TPC-W) to be able
> to configure a connector such that the buffer size of its responses
> grows infinitely, in which case the above "setLimit" calls would not
> occur and the response would always include a "Content-Length" header,
> no matter how big.
> I am proposing a CoyoteConnector attribute "outLimited" (I am open to 
> other naming suggestions), whose possible values may be "TRUE" (default) 
> or "FALSE": if "TRUE", the output buffer size limit is set to the output 
> buffer size (current behaviour), and if "FALSE", an output buffer may 
> grow infinitely.
> Comments?

-1. The performance impact of chunking on the server side is zero. If 
you client bench program is dumb and its performance degrades with 
chunking, fine, but please keep this "optimization" for SunOne ;-) Your 
change basically does an automatic DoS condition on the server (simply 
request a big file and boom).


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message