On Mar 20, 2008, at 20:14, footh wrote:
So, it appears that the continuations eventually clean up nicely. Of course, a constant load would kill the system as the continuation clean-up is too slow to keep up. Two things to note:

1) The expiry parameter in cocoon.xconf did not work. It was always 10 minutes no matter what I
set it to.

I remember that was reported before. Should be an easy fix.

2) The bottom paragraph of this page:  
http://cocoon.apache.org/2.1/userdocs/flow/using.html
states that when using the sendPage method, no continuation is created and memory resources are not used. This does not seem to be the case as my test case uses a one-line flow with a sendPage
call.

Did you check the SendPage vs the SendPageAndContinue implementation?

BTW: What version are you using?

Back to my specific case, I then went to test my full-blown application. After running a series of tests similar to the one described above, I discovered an area that appears to be a problem. I have a main application that uses a "primary" javaflow, and a sub- application of the main app that needs the general logic in the primary flow and then its own logic in its own flow. So, it runs
through two javaflows and thus two sendPage calls.

Not sure I get that ...I remember the limitation of javaflow not behaving if you call a sub pipeline with another javaflow as the continuation is (still) saved in a per-thread context.

 To make a long story short, this seemed to
cause a memory leak. Running just the main flow seemed ok, running just the sub-flow worked ok as well (there appeared to be a bit of a leak, but inconclusive). However, running a page through both flows showed a clear loss of memory. The continuations did not clean up.

So, this could very well be the source of my problems. Based on note 2) above, I must've figured this would be OK due since sendPage supposedly doesn't have a large memory footprint. However, it appears to cause a problem based on my tests. I'm hoping the experts can chime in here: is this as bad an idea as it appears to be (running one page through multiple flows)?

Could you give an example here? I am still not sure what you mean exactly by running through two flows.

Surely what is needed to make this all better and safer in a high load environment is to limit the max number of continuations and not just rely on the time based clean up.

cheers
--
Torsten

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

Reply via email to