[jboss-user] [JBoss Messaging] - Re: JBM deadlock cause by socket write

lanceliao1 do-not-reply at jboss.com
Sun Nov 23 22:04:27 EST 2008


1 The MessageingPostOffice need a readwritelock to handle msg,such as route,binding,removeBinding.
2 Once find a route,get readwritelock,it is using MessagingQueue to handle the msg(Delivery handle(DeliveryObserver observer, MessageReference reference, Transaction tx)).
3 while handdling msg,the Correspond MessagingQueue require a lock to deliver msg.
4 Then using RoundRobin policy choose one ServerSessionEndpoint to deliver msg by Remoting's bisocket.The serverSeeionEndpoint synchronize the method of handleDelivery.

The question is that,one thread hung at step 4 due to no tcp buffer(4557 port recv window is zero) to write bytes.The other thead need a lock to process bytes on port 4557.It is the reason of deadlock,if not using bisocket may resolve the problem?


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4191577#4191577

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4191577



More information about the jboss-user mailing list