Vadim Gritsenko wrote:

Ralph Goers wrote:

OK. I'm wondering if the real problem is simply that the getDocument method is completely synchronized?


It's *good*. You don't really want several threads trying to load *same* document.

It's not perfect though. I see that XMLFileModule, when used in conjunction with cocoon:// protocol, might be a bit ... inefficient.

Usage of DelayedValidity is prescribed here. Do you want to make a stab at implementing delay: protocol? :)


Does the cocoon:// URL call a pipeline you are using in another segment of your overall pipeline? Recursion in the pipeline calling stack can lead to locks.



* Why it is blocking (I guessed it is blocking due to resource exhaustion)


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?