[
https://jira.jboss.org/jira/browse/JBMESSAGING-1796?page=com.atlassian.ji...
]
Howard Gao commented on JBMESSAGING-1796:
-----------------------------------------
Here is what I plan to do to fix this issue:
in the beginning of MessagingPostOffice stop() method, a check is added to make sure if
the viewAccepted() is being executed, it will wait until the viewAccepted is finished. Is
also set a flag so as to prevent further viewAccepted() being called once the stop() is in
action.
In GroupMember.viewAccepted() method, a check is also added in the beginning to find if
stop() has been executed, if not, it marks itself as being executed and goes on with the
normal work. In the end it unmarks itself as finished so that the stop() can make right
decision.
The result is, in summary, the stop() and viewAccepted() will be executed exclusively from
each other. They will never have a chance to grab the same lock (MessagingPostOffice) at
same time. So there won't be a deadlock anymore.
Dead locak while simultaneously shutdown of nodes in a cluster
--------------------------------------------------------------
Key: JBMESSAGING-1796
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1796
Project: JBoss Messaging
Issue Type: Bug
Components: JMS Clustering
Affects Versions: 1.4.0.SP3.CP10, 1.4.6.GA
Reporter: Howard Gao
Assignee: Howard Gao
Fix For: 1.4.0.SP3.CP11, 1.4.6.GA.SP1
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira