cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "imran pariyani (JIRA)" <>
Subject [jira] Commented: (COCOON-2216) IncludeCacheManager can not perfom parallel includes
Date Tue, 22 Jul 2008 00:04:31 GMT


imran pariyani commented on COCOON-2216:

have attached the test case to reproduce the error .. i have attached three files .. test-block
is the main block .. webapp is for running that block .. before that u will have to apply
the patch cocoon-trunk.patch to the cocoon other wise it wont work at all ...
for both the block perform mvn install .. and then for from inside the webapp block mvn jetty:run

so the page


is generated using the parallel generator .. if ur lucky and dont get the error the first
time then just refresh and am sure the error will be there .. there are five components included
in that page ... out of which 4 are normal jx components and the fifth one is cforms component
... all the jx component have been assigned different instance of the same object but still
the properties displayed on the page shows the same value(they should be different) .. if
u execute query for these components individually then they appear without any error .. links
for querying them individually

[jx components .. shows xml output .. forgot to add the pipeline to serialize it to html..
u can add one]

[cforms component]

most of the time we get the error
Caused by: org.apache.commons.jxpath.JXPathException: No value for xpath: $cocoon/continuation/id
its because the objectmodel is being changed by all the components simultaneously ...the error
is there in the log file not on the page .. on the page it will just ignore that component

> IncludeCacheManager can not perfom parallel includes
> ----------------------------------------------------
>                 Key: COCOON-2216
>                 URL:
>             Project: Cocoon
>          Issue Type: Bug
>          Components: - Components: Sitemap
>    Affects Versions: 2.2-dev (Current SVN)
>            Reporter: Christoph Gaffga
>         Attachments: cocoon-trunk.patch, ParallelInclusionProblem-cocoon_TRUNK.patch,,
> Since we migrated from cocoon 2.1 to 2.2 a generator that merges multiple sources from
other cocoon pipelines into one (similar to the aggregator) is not working anymore.
> We also posted our problem to the mailing list, got little feedback but it brought us
on the right way...
> see also:
> I found out that it's a problem with the DefaultIncludeCacheManager, that can not do
parallel inclusion of cocoon-pipelines anymore. I checked several classes where inclusion
is used. In the aggregator parallel inclusion is not an option anymore, in CIncludeTransformer
the IncludeCacheManager is used, but it can't do parallel inclusion. In the new IncludeTransfomer
parallel inclusion is supported, but it does not use caching as it does not use the IncludeCacheManager...
> But we needed caching AND parallel processing, so I tried to find out what's broken in
the DefaultIncludeCacheManager:
> and it seems that the ThreadLocal variables are not initialized for the child threads
that do the inclusion. Neither the spring context nor the old environment stuff was initialized.
And all the source resolving was done outside the child thread and that way using the wrong
thread context. 
> We were able to fix that issue by small changes to DefaultIncludeCacheManager and IncludeCacheManagerSession.
It would be great if somebody could apply this patch so we don'T have to patch every cocoon
version again and again...

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message