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.6.GA, 1.4.5.GA, 1.4.0.SP3.CP09
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:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira