[ 
https://issues.apache.org/jira/browse/COCOON-2216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12632014#action_12632014
 ] 

Grzegorz Kossakowski commented on COCOON-2216:
----------------------------------------------

Hello Christoph and Imran.

First of all I want to say that I did *not* forget about this issue and I've 
spent lots of time working on it. Actually I did not report or share anything 
because I felt somehow embarrassed by the fact that I've taken four different 
(from scratch) attempts to tackle this issue without any significant success.

This problem is even more difficult (at least to me) than I thought, 
unfortunately. Right now I'm working on fifth attempt which is probably the 
ugliest design I've ever made but I have really no clue how to make it better.  
I'm just in process of fixing broken ITs and test cases.

I hope to have something workable tomorrow (I expect to have a whole day free 
so I should spend some time on testing and polishing the code) but this will be 
far from being something acceptable for trunk. I guess I'll need some help of 
other folks but first I'll need to explain in detail what's the actual problem 
which is not the easiest task as well...

Grzegorz
(hating Cocoon's Core with even bigger passion and starting to wonder if my 
GSoC work on ObjectModel does not share bad design with Cocoon Core...)

> 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
>            Assignee: Grzegorz Kossakowski
>         Attachments: cocoon-trunk.patch, 
> ParallelInclusionProblem-cocoon_TRUNK.patch, test-block.zip, test-webapp.zip
>
>
> 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