Ralph Goers wrote:
We tried to deploy an update to our product. Pretty much the only thing we did to Cocoon was to replace Xalan with XSLTC which produces a dramatic performance improvement. However, Cocoon is not consistently hanging. I tried to attach the thread dumps but they are too big. They also don't make any sense to me. I've reduced them down and pasted them below. It shows many calls to XMLFileModule waiting for a lock. The thread that has the lock is waiting for ResourceLimitingPool to get a lock. However, the thread dump doesn't show any threads holding that lock. Does anyone have any ideas on this? This is cocoon 2.1.7-dev svn revision 122686.

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