Hi,
I have a queue setup with max message count of 100 and as a ring queue. The single client
creating that queue will consume 1 message and then wait indefinitely (for the purpose of
my test). I am producing a total of 250 messages. As I would expect, qpid-tool reports that
250 messages have been enqueued and 150 have been dequeued (presumably due to the oldest messages
being overwritten). Here is a snippet from qpid-tool
property arguments {u'qpid.max_count': 100, u'qpid.policy_type': u'ring'}
property altExchange <NULL>
statistic msgTotalEnqueues 250 messages
statistic msgTotalDequeues 150
statistic msgTxnEnqueues 0
statistic msgTxnDequeues 0
statistic msgPersistEnqueues 0
statistic msgPersistDequeues 0
statistic msgDepth 100
However, when I resume my client, I would expect that it only will receive the 100 remaining
messages on the queue, but instead it completes with all 250. I'm slightly confused by this
because the definition of a ring queue states : ""RING : start overwriting messages in a ring
based on sizing. If head meets tail, advance head". The behavior I want is for it to overwrite
older messages once the queue reaches max size.
We are using qpid .06, working on upgrading to .12.
Thanks in advance.
Trina Wisler
|