Effective October 27, 2012, online and email support for FuseSource products will move to Red Hat support channels. For more information, please see the JIRA Migration to Red Hat FAQ.
As of October 27th, please open all new issues in the Red Hat Customer Portal .
Issue Details (XML | Word | Printable)

Key: MB-967
Type: New Feature New Feature
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Gary Tully
Reporter: Torsten Mielke
Votes: 1
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
FUSE Message Broker

Broker to persist JMSRedelivered flag

Created: 21/Sep/11 02:18 PM   Updated: 06/Dec/11 04:15 PM
Component/s: broker
Affects Version/s: 5.5.0-fuse-00-53
Fix Version/s: 5.5.1-fuse-01-06

Issue Links:
Linked
 

External Issue URL: https://issues.apache.org/jira/browse/AMQ-3519


 Description  « Hide
For a consumer to fully rely on the JMSRedelivered flag, the broker needs to persist this flag whenever it changes into its persistence store.

 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Gary Tully added a comment - 22/Sep/11 10:51 AM
Thinking on this a bit, the delivery flag needs to be treated like a message ack.

Currently the broker becomes aware of redelivery when a consumer closes and provides the broker sequence id of the last message delivered to the consumer. Any inflight messages with id > that that sequence are deemed to be redelivered.
In the even of a consumer failure, the close info from the consumer is lost, all unconsumed are deemed redelivered and there can be false positives.
In the event of a broker failure, all redelivery information is lost.

The change would have the consumer send an delivered_ack before a message is consumed, this would be a sync call that would require the broker to sync to disk. This will be as costly as a transaction commit!
There is a chance of a false positive on the redelivered flag, if the consumer fails after the delivered ack is persisted by the broker but before delivery of a message.

It may not be necessary to track updates in the index, in the event of failure we could always rebuild the index if this feature is enabled as it will be a rare event.

Question: is fast recovery vital in this case?


Gary Tully added a comment - 30/Sep/11 12:09 PM

Gary Tully added a comment - 30/Sep/11 04:07 PM
merging to 5.5.1 branch