[jboss-jira] [JBoss JIRA] Resolved: (JBMESSAGING-1879) Duplicated Message delivery in message sucking process
Yong Hao Gao (JIRA)
jira-events at lists.jboss.org
Thu Jun 16 00:04:29 EDT 2011
[ https://issues.jboss.org/browse/JBMESSAGING-1879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yong Hao Gao resolved JBMESSAGING-1879.
---------------------------------------
Resolution: Done
> 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