Messages set with a TTL expire immediately when sent on qpid queues with LVQ ordering

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content