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

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


    [ https://issues.jboss.org/browse/JBMESSAGING-1879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609007#comment-12609007 ] 

Yong Hao Gao commented on JBMESSAGING-1879:
-------------------------------------------

This issue could only happen in using multiple consumers on one distributed queue, where a message could be sucked from one channel to more than one other channels at the same time.


> 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.0.SP3.CP12, 1.4.8.GA
>            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