Messages set with a TTL expire immediately when sent on qpid queues with LVQ ordering
Issue
- MRG LVQ becomes unstable when msg TTLs are used
-
Queues are defined with LVQ ordering and messages sent on those queues have a TTL set on them
-
Sometimes when messages expire, it seems to upset the LVQ mechanism. Eg. Once a message with key 'X' has expired, any subsequent messages sent to the LVQ with key 'X' are expired immediately, and never made available to client applications.
-
Once an LVQ begins exhibiting this behaviour, This behaviour continues until the broker is restarted.
At this point, another side effect is that the msgDepth and byteDepth properties on an LVQ do not always agree, i.e, when msgDepth is zero, byteDepth is not zero.
Sometimes the following error is also seen in the qpidd logs when the above scenario has occurred:Unexpected exception: Attempted size underflow on dequeue
Environment
- Red Hat Enterprise MRG Messaging 1.2
- qpidc-0.5.752581-34.el5-x86_64
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.