[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