]
Howard Gao closed JBMESSAGING-1774.
-----------------------------------
Resolution: Done
maxDeliveryAttempts for MessageSucker shouldn't be -1, resulting
message loss
-----------------------------------------------------------------------------
Key: JBMESSAGING-1774
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1774
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.4.0.SP3.CP09, 1.4.5.GA, 1.4.6.GA
Reporter: Howard Gao
Assignee: Howard Gao
Fix For: 1.4.0.SP3.CP10, 1.4.6.GA.SP1, 1.4.7.GA
When a MessageSucker is created, its consumer's maxDeliveryAttempts is set to -1.
This will cause possible message loss in the following scenario:
1. in a 2-node cluster, messages are sent to distributed destination on node 1 but are
consumed on node 0. Message sucker sucks messages from node 1 and sends to node 0.
2. During the process, node0 shut down normally. Then if there are some prefetched
messages still in message sucker, they will be cancelled back to node1.
3. Because the maxDeliveryAttempts is -1, the messages cancelled will be instantly put to
DLQ or, if there is no DLQ configured, be discarded.
From user's perspective, the message shouldn't be discarded this way.
To fix this:
Set the maxDeliveryAttempts to 1.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: