On 10/05/2011 11:07 AM, Wisler, Trina wrote:
> 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
>
The behaviour you see seems incorrect. The ring queue implementation has
been refactored between 0.6 and 0.12 so if you are going to update, if
you can do that and report back, this make is easier to try work out
what is going on if we are both on the latest version.
btw, which client are you using, not that it should matter.
Carl.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]