From my understanding PageContextImpls are pooled, but not the JSP output (body). Those are written using JspWriterImpls that buffer only 8KB of output.

If you are using tags, then their content is kept in a char array inside BodyContentImpls. Each (pooled) PageContextImpl has a stack of these and the stack and the BodyContentImpl including the char array are not resized after usage. The pooled PageContextImpl keeps references to those.

The LIMIT_BUFFER makes the BodyContentImpl resizing to 512 Bytes in case it grew larger.

Jeff Turner wrote:
Hi,

On Thu, May 04, 2006 at 11:10:20AM +0200, Remy Maucherat wrote:
Jeff Turner wrote:
1 May:  93 Objects (126Mb)
2 May:  107 Objects (263Mb)
3 May:  492 Objects (486MB)
BodyContentImpls are pooled and reused since it makes JSP processing significantly faster. If the application is evil, and uses body tags with huge bodies (it seems to be the case here), then there could be a problem.

Just wondering - are all JSP bodies pooled, or only tag bodies? Eg.
would this JSP's body be pooled:

<%= for (int i=0; i<1000000; i++) { out.print("womble"); } %>

Or only if it were wrapped in JSP tag.

Large buffers may be discarded after usage, by setting the "org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER" system property to "true". Unfortunately, performance will go down and GC activity will go up.

It appears to have fixed the leak on issues.a.o.


Cheers,
Jeff

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

--
kippdata informationstechnologie GmbH
Bornheimer Str. 33a
53111 Bonn

Tel.: 0228/98549-0
Fax:  0228/98549-50
www.kippdata.de
=======================
kippdata informationstechnologie GmbH
Bornheimer Str. 33a
D-53111 Bonn

Tel.: +49/0228/98549-0
Fax:  +49/0228/98549-50
www.kippdata.de

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to