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