Berin Loritsch wrote:
Vadim Gritsenko wrote:
Ralph Goers wrote:
My guess is that the requests are simply coming in faster than
XMLFileModule is taking to release the lock.
That's not important, IMHO. Problem is in pool's lock, not
XMLFileModule's lock.
Are you sure?
90% sure. Have a look:
"http-8080-Processor17" daemon prio=1 tid=0x2e3d58c8 nid=0x19eb waiting for
monitor entry [2d7f3000..2d7f587c]
at
org.apache.avalon.excalibur.pool.ResourceLimitingPool.get(ResourceLimitingPool.java:262)
- waiting to lock <0x60088180> (a java.lang.Object)
at
org.apache.avalon.excalibur.component.PoolableComponentHandler.doGet(PoolableComponentHandler.java:198)
at
org.apache.avalon.excalibur.component.ComponentHandler.get(ComponentHandler.java:381)
at
org.apache.avalon.excalibur.component.ExcaliburComponentSelector.select(ExcaliburComponentSelector.java:213)
at
org.apache.cocoon.components.ExtendedComponentSelector.select(ExtendedComponentSelector.java:260)
at
org.apache.cocoon.components.treeprocessor.InvokeContext.getProcessingPipeline(InvokeContext.java:147)
...
at
org.apache.cocoon.components.source.impl.SitemapSource.init(SitemapSource.java:332)
at
org.apache.cocoon.components.source.impl.SitemapSource.<init>(SitemapSource.java:213)
at
org.apache.cocoon.components.source.impl.SitemapSourceFactory.getSource(SitemapSourceFactory.java:64)
at
org.apache.excalibur.source.impl.SourceResolverImpl.resolveURI(SourceResolverImpl.java:208)
at
org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:516)
at
org.apache.cocoon.components.CocoonComponentManager.resolveURI(CocoonComponentManager.java:499)
at
org.apache.cocoon.components.modules.input.XMLFileModule$DocumentHelper.getDocument(XMLFileModule.java:162)
- locked <0x5f1824b8> (a
org.apache.cocoon.components.modules.input.XMLFileModule$DocumentHelper)
at
org.apache.cocoon.components.modules.input.XMLFileModule.getContextObject(XMLFileModule.java:357)
at
org.apache.cocoon.components.modules.input.XMLFileModule.getAttribute(XMLFileModule.java:380)
at
org.apache.cocoon.components.modules.input.XMLFileModule.getAttribute(XMLFileModule.java:368)
Why would getProcessingPipeline() block in the soft pool?
The only challenge here is to find source of
org.apache.avalon.excalibur.component.PoolableComponentHandler, version
excalibur-pool-1.2.jar. Which is not even in archive :(
Vadim