[jboss-jira] [JBoss JIRA] Resolved: (JBMESSAGING-1883) Server side failover may cause ClientConsumer.waitForOnMessageToComplete() to hang
Yong Hao Gao (JIRA)
jira-events at lists.jboss.org
Mon Jul 4 07:21:23 EDT 2011
[ https://issues.jboss.org/browse/JBMESSAGING-1883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yong Hao Gao resolved JBMESSAGING-1883.
---------------------------------------
Resolution: Done
> 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.0.SP3.CP13, 1.4.8.SP1
> 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