IncludeCacheManager can not perfom parallel includes
----------------------------------------------------

                 Key: COCOON-2216
                 URL: https://issues.apache.org/jira/browse/COCOON-2216
             Project: Cocoon
          Issue Type: Bug
          Components: - Components: Sitemap
    Affects Versions: 2.2-dev (Current SVN)
            Reporter: Christoph Gaffga


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: http://www.mail-archive.com/[EMAIL PROTECTED]/msg42173.html

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.

Reply via email to