[jboss-jira] [JBoss JIRA] Created: (JBMESSAGING-1879) Duplicated Message delivery in message sucking process

Yong Hao Gao (JIRA) jira-events at lists.jboss.org
Wed Jun 15 07:51:29 EDT 2011


Duplicated Message delivery in message sucking process
------------------------------------------------------

                 Key: JBMESSAGING-1879
                 URL: https://issues.jboss.org/browse/JBMESSAGING-1879
             Project: JBoss Messaging
          Issue Type: Bug
          Components: JMS Clustering
    Affects Versions: 1.4.8.GA, 1.4.0.SP3.CP12
            Reporter: Yong Hao Gao
            Assignee: Yong Hao Gao
            Priority: Critical
             Fix For: 1.4.0.SP3.CP13, 1.4.8.SP1


If a message is sucked over to another node and at the same time failover happens at the source node, the source node will try to claim back messages in 'S' (sucking) states. If the said message is claimed back, the message won't get sucked because eventually the moveMessage operation on the DB will fail. 

But in JDBCPersistenceManager.moveReference() it doesn't properly handle this, resulting in the message can be sucked twice.

Also there is a flaw in JDBCPersistenceManager.claimMessagesInSuck(long), this statement:

msgIDs.add(new ReferenceInfo(msgId, deliveryCount, sched));

should be:

                  if (rows == 1)
                  {
                     msgIDs.add(new ReferenceInfo(msgId, deliveryCount, sched));
                  }
without the if condition, a sucked message also can be re-delivered the second time.


--
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