On Mon, Jun 30, 2008 at 7:46 AM, Thorsten Scherler
<[EMAIL PROTECTED]> wrote:
> On Thu, 2008-01-31 at 15:16 -0500, Tim Williams wrote:
>> On Jan 31, 2008 1:19 PM, Thorsten Scherler
>> <[EMAIL PROTECTED]> wrote:
>> > Hi all,
>> >
>> > I am ATM testing the dispatcher with jmeter and concurrent user.
>> >
>> > The problem that I encounter is that the locationmap is throwing an
>> > error as soon as there are concurrent user. :(
>> >
>> > I have no clue ATM why that is happening but try
>> > <map:match pattern="test">
>> >  <map:generate src="lm://transform.html.document"/>
>> > <map:serialize  />
>> > </map:match>
>> >
>> > with e.g. 10 user at the same time (Ramp-up time 0) and after you
>> > freshly started forrest with skins or dispatcher. You will see 80%
>> > failure with "Could not resolve locationmap".
>> >
>> > I am quite doomed ATM since I had to finish my project yesterday and
>> > after the last jmeter tests I cannot hand in the code.
>> >
>> > Please if you have any idea what the problem can be let us now.
>> >
>> > TIA
>>
>> What are the errors? Stacktrace, etc?
>
> 2008-06-30 13:32:33.455::WARN:  /servicios.html
> org.apache.cocoon.ProcessingException: Error during resolving of
> 'lm://resolve.structurer.servicios'.
>        at <map:serialize type="xhtml"> -
> file:///home/thorsten/src/sadesi/portalv4/trunk/portal/target/work/blocks/dispatcher/sitemap.xmap:65:38
>        at <map:transform> -
> file:///home/thorsten/src/sadesi/portalv4/trunk/portal/target/work/blocks/dispatcher/sitemap.xmap:64:70
>        at <map:transform> -
> file:///home/thorsten/src/sadesi/portalv4/trunk/portal/target/work/blocks/dispatcher/sitemap.xmap:63:55
>        at <map:transform type="dispatcher"> -
> file:///home/thorsten/src/sadesi/portalv4/trunk/portal/target/work/blocks/dispatcher/sitemap.xmap:56:42
> ....
>
> Caused by: org.apache.excalibur.source.SourceException: Could not
> resolve locationmap location.
>        at
> org.apache.forrest.locationmap.source.impl.LocationmapSourceFactory.getSource(LocationmapSourceFactory.java:81)
>        at
> org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(CocoonSourceResolver.java:153)
>        at
> org.apache.cocoon.components.source.CocoonSourceResolver.resolveURI(CocoonSourceResolver.java:183)
>        at
> org.apache.cocoon.template.script.DefaultScriptManager.resolveTemplate(DefaultScriptManager.java:97)
>
>
> Doing some testing in my case I use jmeter with 250 threads and 100 loop
> where the ramp-up time is 20.
>
> This provokes that the input module is requested on the startup with
> more then one request. It seems that the requests are issued as fast
> that the module seems to fail to finish to load the first time the
> locationmap.
>
> If I however request FIRST (before the jmeter test) a page and let the
> locationmap module load with time the tests will not fail anymore.
>
> I am ATM playing around and it happens in
> LocationMapModule.getLocationMap() but I am not sure how I can prevent
> it.

Try making the entire method synchronized instead of just the blocks.
This may not be the end solution but will let you quickly see if
there's concurrency problems when the subsequent requests come in
before the LM is fully built.  Just my top of the head thought, sorry,
I don't have time to look further right now.
--tim