cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Curdt <tcu...@apache.org>
Subject Re: Javaflow - major memory issue
Date Thu, 27 Mar 2008 12:45:01 GMT

On Mar 27, 2008, at 13:18, Joerg Heinicke wrote:
> On 27.03.2008 04:39, Torsten Curdt wrote:
>
>>>> Sure, here is the hierarchy from bottom to top.  At this point, I  
>>>> ran the test for about five
>>>> minutes (running longer would increase the percentage) and the  
>>>> retained size of the one
>>>> ContinuationsManagerImpl object is 58% of the total.  The  
>>>> BufferedOutputStream is 50% of the
>>>> total, so the other 8% is consumed by the objects in between.
>>>> org.apache.cocoon.util.BufferedOutputStream
>>>> secureOutputStream of   
>>>> org.apache.cocoon.environment.http.HttpEnvironment
>>>> env of   
>>>> org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor 
>>>> $TreeProcessorRedirector redirector of   
>>>> org.apache.cocoon.components.flow.java.ContinuationContext
>>>
>>> What I was so much concerned about here was the fact of storing  
>>> the whole environment in the continuation, especially since we  
>>> have this non-flushing BufferedOutputStream at the end. Is there  
>>> any point in storing the environment? Do we get anything useful  
>>> out of it after continueing the continuation?
>> What do you mean by "environment" ...it's not like the whole jvm is  
>> stored but only the flow. External resources should be injected (vs  
>> stored) as much as possible.
>
> Just have a look at the quote from the original. It gives the object  
> relationships in the memory. BufferedOutputStream takes 50% and is  
> hold in HttpEnvironment which is hold in TreeProcessorRedirector  
> which is hold in ContinuationContext. I wondered why it is there.

Ah ...well, the ContinuationContext should be short living. Maybe  
there is a dangling reference to it?

(Let's stop cross posting and move over to the dev list)

cheers
--
Torsten

Mime
View raw message