Bug 509994 - browsed, cluster durable lvq loses order between persistent and transient messages
Summary: browsed, cluster durable lvq loses order between persistent and transient mes...
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 1.1.1
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: messaging-bugs
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-07 10:22 UTC by Gordon Sim
Modified: 2020-11-04 17:52 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Gordon Sim 2009-07-07 10:22:15 UTC
Description of problem:

If due to a browsing subscriber, more than one message exists on queue for a given key and the later message was sent as persistent while the earlier message was sent as transient, then if cluster durability is triggered, and the resulting store used for recovery the newer message will be replaced by the older message.

Version-Release number of selected component (if applicable):

qpidd-0.5.752581-22.el5

How reproducible:

100%

Steps to Reproduce:
1. start two node cluster
2. create cluster durable lvq
   e.g.  qpid-config add queue test-queue --order lvq --durable --cluster-durable
3. send transient message to the queue
   e.g. echo one | sender --lvq-match-value abc
4. browse the queue (prevents replacement of the previous message)
   e.g. receiver --browse --messages 1
5. send a durable message with same key
   e.g. echo two | sender --lvq-match-value abc --durable true
6. kill one node to trigger cluster-durable feature
7. stop and recover the remaining node
  
Actual results:

After recovery, only the older message remains on the queue (i.e. one). The newer message has been incorrectly overridden.

Expected results:

Always have the latest message on the queue.

Additional info:


Note You need to log in before you can comment on or make changes to this bug.