Hi Nicolas, >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? Yes, we made the tests with 1.4.1_02 and 1.4.2_02. We cannot go back 1.3.x because we depend on the 1.4. Lars 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 > 20000+ 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.
