[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