cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Daniel <alexander.dan...@gmx.at>
Subject Re: Cocoon protocol memory leak
Date Tue, 19 May 2009 20:02:21 GMT
Thanks for sharing your observations. This might be related to a  
problem we are currently facing.

The use of the cocoon: protocol has several other pros additional to  
error stack:
- caching
- map:generate in caller and map:serialize in callee will be optimized  
and the SAX stream is passed on [1]

Alex

[1] http://www.peachpit.com/articles/article.aspx?p=30037&seqNum=1 and  
search for "event pipeline"

On 13.05.2009, at 17:40, Will Sheppard wrote:

> We have a sitemap where a calls b, which calls c, which calls d (see  
> below). The reason it's set up like this is so we can view each  
> stage on its own, to facilitate development and debugging.
>
> We were noticing massive memory leakage. If the a/*/* pipeline was  
> hit 200 times, the memory usage would shoot up to 200Mb and never  
> come down, even after garbage collection had run.
>
> After we replaced all the ‘cocoon:’ protocol calls with 'http://localhost/path/to/cocoon'

> , the memory leak disappeared. No matter how many times or how fast  
> the pipeline was hit, memory usage would always come down just  
> before it reached 100Mb. It would stabilise at around 40-50Mb after  
> garbage collection. We only made that one change to the sitemap.
>
> But we'd really like to use the cocoon: protocol, so that the error  
> stack is followed properly upon errors (among other reasons). When  
> using the 'localhost' method, the stack trace stops at the last URL  
> accessed.
>
> Has anyone encountered an issue like this memory leak, or knows of a  
> solution?
>
> We are using Cocoon 2.2 under JBoss 4.2.2 on 64-bit Linux.
> Original sitemap follows. Filenames, etc. have been changed.
>
> <map:match pattern="a/*/*">
>     <map:generate src="cocoon:/b/{1}/{2}" />
>     <map:transform src="r/x.xsl" type="saxon" />
>     <map:serialize type="xml" />
> </map:match>
>
> <map:match pattern="b/*/*">
>     <map:generate src="cocoon:/c/{1}/{2}" />
>     <map:transform type="sql">
>         <map:parameter name="use-connection" value="r" />
>     </map:transform>
>     <map:serialize type="xml" />
> </map:match>
>
> <map:match pattern="c/*/*">
>     <map:act type="request">
>         <map:parameter name="parameters" value="true"/>
>         <map:generate src="cocoon:/d/{../1}" />
>         <map:transform src="r/y.xsl" type="saxon"/>
>         <map:transform type="cinclude" />
>         <map:transform src="r/z.xsl" type="saxon"/>
>     </map:act>
>     <map:serialize type="xml" />
> </map:match>
>
> <map:match pattern="d/*">
>     <map:generate src="r/t.xml" />
>     <map:transform src="r/s.xsl" type="saxon">
>         <map:parameter name="resource" value="{1}" />
>     </map:transform>
>     <map:serialize type="xml" />
> </map:match>
>
>
> Will
>
>
>
> http://www.bbc.co.uk
> This e-mail (and any attachments) is confidential and may contain  
> personal views which are not the views of the BBC unless  
> specifically stated.
> If you have received it in error, please delete it from your system.
> Do not use, copy or disclose the information in any way nor act in  
> reliance on it and notify the sender immediately.
> Please note that the BBC monitors e-mails sent or received.
> Further communication will signify your consent to this.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message