-----Original Message-----
From: Rob Davies [mailto:[EMAIL PROTECTED]
Sent: Thursday, 10 November 2005 19:59
To: [email protected]
Subject: Re: [servicemix-user] Deadlock with bounded queue
Hi John,
please raise a jira issue - then we can all track progress on this
etc.
I'll have a look at this asap.
cheers,
Rob
On 9 Nov 2005, at 23:56, HURST, John B wrote:
Hi,
A couple of times I've experienced deadlocks with ServiceMix due to
bounded queues becoming full. The most recent case was today,
using ST
flow. It's easy to see how ST flow might be susceptible to this,
but I
believe I've had it with SEDA also. (Perhaps with a different
queue/cause.)
In the case today I diagnosed it by examining the stack traces of
threads using JMX (jconsole) after ServiceMix had hung. I found
that seven
threads are BLOCKED on synchronized (putGuard_) in
BoundedLinkedQueue#put(), while one thread is stuck inside the method
waiting for reconcilePutPermits() to return true.
My test case involves a FTPPoller receiving 1,100 files, passing
them through to a XLST routing component, which passes them on to an
HTTPInvoker component. (Actually both the FTPPoller and
HTTPInvoker are
local customizations and I'm using a couple of customized marshallers
too.) I realise 1,100 files is quite a lot to receive at once via
FTP.
However, I increased the default capacity of BoundedLinkedQueue (from
1,024 to 10,240, as an experiment) and things seemed to work OK. I
don't
really expect to have 1,100 files at once in real life, but in our
scenario we will receive a couple hundred at once sometimes, so I
thought
this was a good test.
Should I raise a JIRA for this, or am I doing something stupid?
I have saved the stack traces.
BTW I'm using ServiceMix 2.0, built from source.
John Hurst
Wellington, New Zealand
____________________________________________________________________
__
This email has been scanned by the MessageLabs Email Security
System.
For more information please visit http://www.messagelabs.com/email
____________________________________________________________________
__