[jboss-jira] [JBoss JIRA] Created: (JBMESSAGING-1883) Server side failover may cause ClientConsumer.waitForOnMessageToComplete() to hang
Yong Hao Gao (JIRA)
jira-events at lists.jboss.org
Mon Jul 4 00:45:23 EDT 2011
Server side failover may cause ClientConsumer.waitForOnMessageToComplete() to hang
----------------------------------------------------------------------------------
Key: JBMESSAGING-1883
URL: https://issues.jboss.org/browse/JBMESSAGING-1883
Project: JBoss Messaging
Issue Type: Bug
Components: JMS Clustering
Affects Versions: 1.4.8.SP1, 1.4.0.SP3.CP13
Reporter: Yong Hao Gao
Assignee: Yong Hao Gao
Fix For: 1.4.0.SP3.CP14, 1.4.8.SP2
When server side failover happens, the failover node will get "node left" notification from jgroups as well as "connection broken" notification from remoting on the connections through which message suckers are created. The listeners of the two notifications are executed concurrently and both try to close related resources. The "node left" listener performs failover for the dead node, where it closes all message suckers (underneath the ClientConsumers). The "connection broken" listener will close the related connection/session/consumer. If
1. in failover the ClientConsumer.close() is called but before waitForOnMessageToComplete() is called,
2. the session is being closed by the 'connection broken' listener.
3. when the waitForOnMessageToComplete() is called, it puts a 'Closer' task to executor and wait for it. However at that time the executor has been closed already in step 2. So the 'Closer' task will never get executed and it will wait forever.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list