On 15/09/2007, Rajith Attapattu <[EMAIL PROTECTED]> wrote: > When I run the latest version of trunk I get a hang on > org.apache.qpid.test.unit.client.forwardall.CombinedTest > kill -3 (thread dump) provides information to say there is a deadlock.
This is QPID-600 and has been fixed by Rob on the M2 branch. > I also noted that all AMQSession.createXXXMessage contains synchronization > code. > (in this case the deadlock happens inn AMQSession.createTextMessage trying > to obtain the failover mutex) The deadlock occurs because of the order of lock acquisition. > Do we really need this synchronization code when creating messages? I am not > really convinced it is needed. > Can someody explain the reason for that code block? Hmm, I'm not sure why the mutex is held. I don't think there is any risk of corruption if a message is created during failover, and the mutex has been grabbed in there since the file was created in Apache svn. I am not sure it helps to remove it though, it probably just pushes the deadlock elsewhere (in the absence of the QPID-600 fix). RG