Hi all,
I am trying to create a queue with a message limit of 1, but the broker
does not seem to be enforcing the limit.
Repro steps:
1. $ qpidd --auth=no # start the cpp broker
2. $ python qmf-test.py # creates a ring queue with max-queue-count=1 and
send 2 messages
3. $ qpid-stat -q # check the message count
Expected: 1 message in the queue
Actual: 2 messages in the queue
$ qpid-stat -q
Queues
queue dur autoDel excl msg msgIn
msgOut bytes bytesIn bytesOut cons bind
=========================================================================================================================
b871cccb-fb46-4d67-a241-d35f9d899da3:0.0 Y Y 0 0
0 0 0 0 1 2
queue 2 2
0 62 62 0 0 1
$ qpid-config queues
Queue Name Attributes
=================================================================
4845e801-c299-44c5-989a-58539c8c615c:0.0 auto-del excl
queue --argument limit-policy=ring
--argument max-queue-count=1
$ cat qmf-test.py
#!/usr/bin/env python
from qpid.messaging import *
from qmf_interface import QmfInterface
address = "localhost:5672"
qmf_interface = QmfInterface(address, "Management", {})
QUEUE="queue"
try:
qmf_interface.create_queue(QUEUE, {'limit-policy': u'ring',
'max-queue-count': 1})
qmf_interface.send_message(QUEUE)
qmf_interface.send_message(QUEUE)
except MessagingError, m:
print m
except Exception, e:
print 'Caught %s while setting up broker' % e
finally:
qmf_interface.cleanup()
$ rpm -qa | grep qpid
qpid-tools-0.32-9.el7.noarch
qpid-cpp-client-1.35.0-3.el7.x86_64
qpid-cpp-server-1.35.0-3.el7.x86_64
python-qpid-0.32-12.el7.noarch
python-qpid-common-0.32-12.el7.noarch
qpid-proton-c-0.17.0-1.el7.x86_64
python-qpid-qmf-1.35.0-3.el7.x86_64
qpid-qmf-1.35.0-3.el7.x86_64
qpid-cpp-client-devel-1.35.0-3.el7.x86_64
Has anyone else seen this?
Thanks,
Chester