Hi, Are you sure the problem isn't from the Sun JVM: it is known that Solaris's JVM are a lot buggier than for other OS (http://www.theinquirer.net/?article=7601)
Have you tried with another JVM? Nicolas Le Lundi 05 Janvier 2004 13:46, Rottmann, Lars a �crit : > Hello everybody, > > we are currently migrating from a rather old development version of Cocoon > (december 2002) to the latest stable release 2.1.3. The increase in > performance is awesome, but unfortunately we are facing reproducable faulty > behaviour when load testing the actual version. After delivering roughly > 20000+ pages without an error, the server starts sending back error pages > with status code 500. > > This is the configuration we use for testing: Sun Fire V480 (OS 5.8) with > 2x 900 MHz, 4 GB RAM, Cocoon 2.1.3 (with Xalan as XSLT processor), Jetty > 4.2.12, Sun Java 1.4.2_02-b03. > We do the load testing with the tool "Siege" (version 2.56) with 40 > concurrent users requesting 2000 pages each. > > I traced down the problem to the ExcaliburComponentManager or its adjacent > classes. The end is near when the warning message below is popping up in > the log files. Mostly it is the TransformerSelector that could not be > looked up (a null value is returned), but I also saw the same message in > conjunction with the SerializerSelector in another run. The effect is the > same. The ECM tries to set up new instances of all Selectors but with an > empty > DefaultConfiguration object. This leads to failures in all subsequent > lookups of the TraxTransformer in the case below. All pages involving XSLT > transformations will fail including the error pipeline itself, though > delivery of images is not affected. > > I suppose that this problem is a concurrency or threading issue. Disabling > one the cpus of the server, switching between several versions of the JVM, > disabling the "use-store" feature, increasing pool sizes of the sitemap > components etc. didn't solve it. Interestingly I couldn't reproduce the > errors on my Linux development box, it only showed up in production-like > environment. > > I hacked the ECM doing a second lookup attempt after waiting 10ms and > almost everytime the second try was successful. When additionaly > prohibiting re-instantiation of the org.apache.cocoon.*.*Selector classes I > managed to run a test with more than 7 million requests in a timeframe of > about 10 hours constantly penetrating the server with 40+ users without > breaking Cocoon. > > Has anyone an idea? Any help is really appreciated. Thanks alot in advance! > > Best regards > > Lars > > > --------- Logs ----------------- > > WARN (2003-12-17) 03:52.24:043 [sitemap] (/vsky/index.preg) > wap-18/ExcaliburComponentManager: ComponentLocator exception from parent CM > during lookup. > org.apache.avalon.framework.component.ComponentException: Could not find > component (key [org.apache.cocoon.transformation.TransformerSelector]) > at > org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(Exca >l iburComponentManager.java:297) > at > org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentM >a nager.java:324) > at > org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(Exca >l iburComponentManager.java:226) > at > org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentM >a nager.java:324) > at > org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.addTransfo >r mer(AbstractProcessingPipeline.java:283) > at > org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipelin >e .addTransformer AbstractCachingProcessingPipeline.java:167) > at > org.apache.cocoon.components.treeprocessor.sitemap.TransformNode.invoke(Tra >n sformNode.java:94) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:84) > at > org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTy >p eNode.java:176) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:108) > at > org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNo >d e.java:66) > at > org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode >. java:128) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:108) > at > org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(Select >N ode.java:138) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:84) > at > org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTy >p eNode.java:176) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:84) > at > org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTy >p eNode.java:176) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:108) > at > org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNo >d e.java:66) > at > org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode >. java:128) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:84) > at > org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTy >p eNode.java:176) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:108) > at > org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNo >d e.java:66) > at > org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode >. java:128) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:84) > at > org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invo >k e(PreparableMatchNode.java:164) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:108) > at > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(Pipe >l ineNode.java:163) > at > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.inv >o keNodes(AbstractParentProcessingNode.java:108) > at > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(Pip >e linesNode.java:152) > at > org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProces >s or.java:354) > at > org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProces >s or.java:307) > at org.apache.cocoon.Cocoon.process(Cocoon.java:656) > at > org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:356) > at > org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHand >l er.java:294) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1723) > at > org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContex >t .java:514) > at org.mortbay.http.HttpContext.handle(HttpContext.java:1673) > at org.mortbay.http.HttpServer.service(HttpServer.java:879) > at org.mortbay.http.HttpConnection.service(HttpConnection.java:783) > at > org.mortbay.http.ajp.AJP13Connection.handleNext(AJP13Connection.java:273) > at org.mortbay.http.HttpConnection.handle(HttpConnection.java:800) > at > org.mortbay.http.ajp.AJP13Listener.handleConnection(AJP13Listener.java:204) > at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) > at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:454) > > > > DEBUG (2003-12-17) 03:52.24:069 [sitemap] (/vsky/index.preg) > wap-18/ExcaliburComponentManager: Could not find ComponentHandler, > attempting to create one for role > [org.apache.cocoon.transformation.TransformerSelector] > DEBUG (2003-12-17) 03:52.24:071 [sitemap] (/vsky/index.preg) > wap-18/DefaultComponentFactory: ComponentFactory creating new instance of > org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector. > > DEBUG (2003-12-17) 03:52.24:074 [sitemap] (/vsky/index.preg) > wap-18/DefaultComponentFactory: no logger attribute available, using > standard logger > DEBUG (2003-12-17) 03:52.24:075 [sitemap] (/vsky/index.preg) > wap-18/DefaultRoleManager: looking up shorthand , returning null > DEBUG (2003-12-17) 03:52.24:075 [sitemap] (/vsky/index.preg) > wap-18/ComponentsSelector: Setting up sitemap component selector for null > (role id = -1) > DEBUG (2003-12-17) 03:52.24:076 [sitemap] (/vsky/index.preg) > wap-18/DefaultRoleManager: looking up shorthand , returning null > DEBUG (2003-12-17) 03:52.24:076 [sitemap] (/vsky/index.preg) > wap-18/ExcaliburComponentSelector: ComponentSelector setting up with root > element: > DEBUG (2003-12-17) 03:52.24:076 [sitemap] (/vsky/index.preg) > wap-18/DefaultRoleManager: looking up shorthand , returning null > DEBUG (2003-12-17) 03:52.24:077 [sitemap] (/vsky/index.preg) > wap-18/ThreadSafeComponentHandler: ComponentHandler initialized for: > org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector > DEBUG (2003-12-17) 03:52.24:077 [sitemap] (/vsky/index.preg) > wap-18/ExcaliburComponentSelector: UnnamedSelector: ComponentSelector could > not find the component for hint [xslt] > > INFO (2003-12-17) 03:52.24:105 [sitemap] (/vsky/index.preg) > wap-18/HandleErrorsNode: Processing handle-errors at > file:/apps/DE/vsky/vsky30-20031204/webapp/sitemap.xmap:1225:24 > > > > Vodafone Global Content Services Limited > Registered Office: Vodafone House, The Connection, Newbury, Berkshire > RG14 2FN > > Registered in England No. 4064873 > > This e-mail is for the addressee(s) only. If you are not an addressee, you > must not distribute, disclose, copy, use or rely on this e-mail or its > contents, and you must immediately notify the sender and delete this e-mail > and all copies from your system. Any unauthorised use may be unlawful. > The information contained in this e-mail is confidential and may also be > legally privileged.
