Java.net JIRAhttps://java.net/jira
This file is an XML representation of an issueen6.2.3626015-04-2014[GLASSFISH-17379] [perf] excessive lock contention in class loading during jsf benchmarkhttps://java.net/jira/browse/GLASSFISH-17379
glassfish<p>Note: This issue is very much likely to be present in 3.1.2, could not run it through 3.1.2 build due to login problem to glassfish admin console.</p>
<p>Very recently issues with JSF scrumtoys application has been fixed and we started benchmarking JSF performance using this app. During the performance runs even with very few users (around 4) we noticed contention in classloading and only one application thread proceeds at a time while all others are blocked. Here is a sample thread-dump showing the contention,</p>
<p>"http-thread-pool-8080(5)" daemon prio=10 tid=0x09d6a400 nid=0xc9a6 waiting for monitor entry <span class="error">&#91;0x22dbc000&#93;</span><br/>
java.lang.Thread.State: BLOCKED (on object monitor)<br/>
at java.lang.ClassLoader.loadClass(ClassLoader.java:291)</p>
<ul class="alternate" type="square">
<li>waiting to lock &lt;0x389b3220&gt; (a org.glassfish.internal.api.DelegatingClassLoader)<br/>
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)<br/>
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1466)<br/>
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1369)<br/>
at com.sun.faces.util.Util.loadClass(Util.java:281)<br/>
at com.sun.faces.application.ApplicationImpl.newThing(ApplicationImpl.java:1686)<br/>
at com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1865)<br/>
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1152)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.createComponent(ComponentTagHandlerDelegateImpl.java:499)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:157)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.tag.composite.ImplementationHandler.apply(ImplementationHandler.java:81)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)<br/>
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyCompositeComponent(CompositeComponentTagHandler.java:348)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyNextHandler(CompositeComponentTagHandler.java:190)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at com.sun.faces.facelets.tag.composite.ImplementationHandler.apply(ImplementationHandler.java:81)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)<br/>
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyCompositeComponent(CompositeComponentTagHandler.java:348)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyNextHandler(CompositeComponentTagHandler.java:190)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:308)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:367)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)<br/>
at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)<br/>
at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)<br/>
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)<br/>
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)<br/>
at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:769)<br/>
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)<br/>
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)<br/>
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)<br/>
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)<br/>
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)<br/>
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)<br/>
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)<br/>
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)<br/>
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)<br/>
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)<br/>
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)<br/>
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)<br/>
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)<br/>
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)<br/>
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)<br/>
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)<br/>
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)<br/>
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)<br/>
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)<br/>
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)<br/>
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)<br/>
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)<br/>
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)<br/>
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)<br/>
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)<br/>
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)<br/>
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)<br/>
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)<br/>
at java.lang.Thread.run(Thread.java:662)</li>
</ul>
<p>"http-thread-pool-8080(3)" daemon prio=10 tid=0x09d69800 nid=0xc9a4 waiting for monitor entry <span class="error">&#91;0x22d7b000&#93;</span><br/>
java.lang.Thread.State: BLOCKED (on object monitor)<br/>
at java.lang.ClassLoader.loadClass(ClassLoader.java:291)</p>
<ul class="alternate" type="square">
<li>locked &lt;0x389b3220&gt; (a org.glassfish.internal.api.DelegatingClassLoader)<br/>
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)<br/>
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1466)<br/>
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1369)<br/>
at com.sun.faces.util.Util.loadClass(Util.java:281)<br/>
at com.sun.faces.application.ApplicationImpl.newThing(ApplicationImpl.java:1686)<br/>
at com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1865)<br/>
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:1152)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.createComponent(ComponentTagHandlerDelegateImpl.java:499)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:157)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.tag.composite.ImplementationHandler.apply(ImplementationHandler.java:81)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)<br/>
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyCompositeComponent(CompositeComponentTagHandler.java:348)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyNextHandler(CompositeComponentTagHandler.java:190)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyNextHandler(CompositeComponentTagHandler.java:187)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at com.sun.faces.facelets.tag.composite.ImplementationHandler.apply(ImplementationHandler.java:81)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)<br/>
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyCompositeComponent(CompositeComponentTagHandler.java:348)<br/>
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyNextHandler(CompositeComponentTagHandler.java:190)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)<br/>
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:184)<br/>
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)<br/>
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:98)<br/>
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:308)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:367)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:346)<br/>
at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)<br/>
at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)<br/>
at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)<br/>
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:86)<br/>
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:152)<br/>
at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:769)<br/>
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)<br/>
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)<br/>
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)<br/>
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)<br/>
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)<br/>
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)<br/>
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)<br/>
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)<br/>
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)<br/>
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)<br/>
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)<br/>
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)<br/>
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)<br/>
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)<br/>
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)<br/>
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)<br/>
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)<br/>
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)<br/>
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)<br/>
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)<br/>
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)<br/>
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)<br/>
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)<br/>
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)<br/>
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)<br/>
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)<br/>
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)<br/>
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)<br/>
at java.lang.Thread.run(Thread.java:662)</li>
</ul>
GLASSFISH-17379[perf] excessive lock contention in class loading during jsf benchmarkBugMajorClosedFixedSanjeeb SahooamitagarwalMon, 3 Oct 2011 14:41:16 +0000Mon, 3 Dec 2012 23:08:58 +0000Wed, 28 Dec 2011 12:41:28 +00003.1.1_b123.1.2classloaderjsf00<p>Apply this patch and let me know if you notice any difference. To apply:</p>
<p>tar xvf patch.tar<br/>
jar uvf .../glassfish/modules/innternal-api.jar org/<br/>
restart server</p>
<p>This patch is not tested for any other kind of regression.</p><p>I applied the patch as specified but did not see any difference.</p><p>Amit, pl try this patch instead.</p><p>Patch 2 also shows same contention.</p><p>Can you debug and tell me what class is being loaded and where does it eventually get loaded from? If you run with -Xverbose:class option, you can find out the answer to the last question.</p><p>As desired I added -verbose:class option before starting glassfish, I did not get any of class loading info in server.log. To get around this issue I started glassfish through a script instead of asadmin. Script was created using the initial output of server.log.</p>
<p>With this script I could see verbose class loading logging info for all the classes being loaded. When benchmark started running to full-swing there are no class loading output but jstack still reports same contention.</p><p>I have added some debug statements in this patch; otherwise it is the same patch as patch2. To see the debug output, after applying this patch, set log level of logger called org.glassfish.internal.api to FINE as shown below in domain1/config/logging.properties:</p>
<p>org.glassfish.internal.api.level=FINE</p>
<p>Now, grep for DelegatingClassLoader or notFoundClasses in log. If you don't see anything, then it is very likely that you are not using patch correctly.</p><p>I applied the new patch (patch3) with log level set to FINE as per the comments. I do see DelegatingClassLoader or notFoundClasses in server.log file. This means I applied the patch properly. Things remain same and JSF application does not scale at all.</p><p>Pl upload the log to analyse the debug messages.</p><p>Please see the attached server.log_2011-11-07 file.</p><p>Amit,</p>
<p>I have looked at the attached server.log and I do see the patch taking effect. I see initially classes getting added to notFoundClasses cache and later on DelegatingClassLoader is quickly throwing ClassNotFoundException when it sees a class in the aforementioned cache. This means we should not see the kind of contention you had initially reported. Are you still seeing contention? Are you allowing the system to warm up sufficiently before proceeding to measure the numbers?</p>
<p>Thanks,<br/>
Sahoo</p><p>I am still seeing this contention. Yes, I did allow the system to warm-up for about 10 minutes and then collected metrics in steady state.</p><p>Will look at this bug post 3.1.2.</p><p>Setting javax.faces.PROJECT_STAGE to Production in web.xml resolved the reported contention. Hence closing the bug.</p>Rank34805Tags3_1_2-excludePSRBUG