cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stefan Pietschmann" <dev.sen...@gmail.com>
Subject AW: Desparately seeking help with pipeline implementation
Date Sun, 30 Apr 2006 18:28:24 GMT


| -----Ursprüngliche Nachricht-----
| Von: Sylvain Wallez [mailto:sylvain@apache.org]
| Gesendet: Sonntag, 30. April 2006 14:00
| An: dev@cocoon.apache.org
| Betreff: Re: Desparately seeking help with pipeline implementation
| 
| Stefan Pietschmann wrote:
| >
| > Hi guys,
| >
| > for my thesis I have implemented a custom pipeline, which modifies the
| > list of transformers to be run during pipeline setup. This is done
| > with every request in setupPipeline(), so I need to reset to the
| > original every time, before I modify again.
| >
| 
| Why do you need that? Can't it be done by overloading one of
| setGenerator/addTransformer/setSerializer?

I adapt the pipeline with every request according to some external data.
Isn't addTransformer() called only once when the pipeline is built? If it
is, I couldn't use it, because this would mean I adapt the pipeline once,
and all subsequent requests use the adapted one. 
However, if this.transformers (and the other ArrayLists with the sources and
parameters) is built anew for every request, then this might be an easy way
out. 
| 
| > That's why I try to do a backup of the list, then reload it at the
| > beginning. It has been working smoothly so far, but I just started
| > testing deeply with JMeter, and when I use 10 Threads (my testcase is
| > that 10 Threads are 10 times requesting a page for 10 times, so 1000
| > requests altogether), I'm running into problems. I get errors around
| > the 150^th request… and they are getting more and more. They occur in
| > several classes (the TraxTransformer, IntStack, SAX2DTM and so on),
| > but I'm pretty sure that's not where the problem lies, because with
| > the default pipeline there are no such problems. Can you please look
| > into my implementation? I'm sure there must be some stupid mistake (I
| > haven't worked in multithreading environments yet).
| >
| > This is really important since my deadline is very very near and this
| > came totally surprising to me L
| >
| > I have simplified the pipeline as much as I could – you only need to
| > adjust the package to where you put it and add it to your sitemap.
| > When running a simple testcase with several threads, you will see the
| > problems L
| >
| 
| Giving more details about the errors you obtain would be useful, but I
| guess this is more related to component pools than to multithreading.

I can attach some stacktraces if that helps...

I only see that I only get problems when using multiple threads. The problem
might be related to anything else - I don't seem to understand how a
pipeline is used by multiple threads. I thought - since it's recycleable -
that each thread gets its own pipeline object.

Your help is much appreciated!
Stefan

 Sylvain
| 
| --
| Sylvain Wallez - http://bluxte.net


Mime
View raw message