[
http://jira.jboss.com/jira/browse/JBMESSAGING-883?page=comments#action_12... ]
Tim Fox commented on JBMESSAGING-883:
-------------------------------------
A solution to this is as follows:
Each queue maintains a high watermark (ordering in the queue).
This is replicated to the backup node.
When failover occurs, each session recovers its deliveries.
Delivery re-occurs on the queue, but only starts from the watermark, refs from before that
will not have delivery attempted.
If the refs from before the watermark are not recovered within a timeout they will get
cancelled.
Replication can be done via jgroups unicast MessageDispatcher.
When the backup fails, the new backup needs the state re-replicated to it.
This is non trivial so won't make it into 1.4.0
Bug in failover with multiple consumers on same queue
-----------------------------------------------------
Key: JBMESSAGING-883
URL:
http://jira.jboss.com/jira/browse/JBMESSAGING-883
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.2.0.CR1
Reporter: Tim Fox
Assigned To: Tim Fox
Priority: Critical
Fix For: 2.0.0 Beta 1
If you have two connections with a consumer each on the same queue, and one of the
consumers has consumed a message transactionally but not committed it.
Then when failover occurs, if the second connection fails over first then it might
"grab" the message before session::recoverDeliveries kicks in for the other
connection.
This means the message can get delivered more than once.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira