Thanks for the quick reply Vadim. I'm not clear on what it is I should double check. The code or a pool size.

Does just look like a case of the pool size being too small or are you suggesting that XMLFileModule is the cause of the deadlock by trying to obtain a component while holding a lock?

Ralph

Vadim Gritsenko wrote:

Looks like you've got a classic deadlock.

Request (*) calls XMLFileModule which synchronizes on its internal cache, and tries to parse a document, which is coming from Cocoon pipeline, so tree processor looks up a pipeline object.

But while this request does this, new requests are coming in, and each one of them takes one pipeline object out of the pool, and then all those requests are piling up before XMLFileModule lock.

Pipeline pool runs out of resources, and request (*) above blocks waiting when pool gets resources back.

But it won't.

What I'm not clear on is IIRC component pools should use soft limiting pools, so there should be no waiting in ResourceLimitingPool. You may want to double check this.

Vadim



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to