Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
proton-c-0.17.0
-
None
Description
On an empty broker create three queues:
qpid-config add queue resource_manager@dev.celery.pidbox qpid-config add queue resource_manager qpid-config add queue resource_manager@dev.dq
Run the reproducer below `python three_consumers.py`
three_consumers.py
from __future__ import print_function from proton.handlers import MessagingHandler from proton.reactor import Container class ThreeConsumers(MessagingHandler): def __init__(self): super(ThreeConsumers, self).__init__() def on_start(self, event): self.conn = event.container.connect('localhost:5672') event.container.create_receiver(self.conn, 'resource_manager@dev.celery.pidbox') event.container.create_receiver(self.conn, 'resource_manager') event.container.create_receiver(self.conn, 'resource_manager@dev.dq') def on_message(self, event): print(event.message.body) try: Container(ThreeConsumers()).run() except KeyboardInterrupt: pass
Show the queue stats with:
qpid-stat -q
Observe that each queue created should have a consumer but it does not. See the "cons" column.
Queues queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================================================================= 51b5638e-cddc-4301-a0d8-73e44849cf01:0.0 Y Y 0 0 0 0 0 0 1 2 resource_manager Y 0 2 2 0 2.25k 2.25k 1 2 resource_manager@dev.celery.pidbox 0 0 0 0 0 0 0 1 resource_manager@dev.dq 0 0 0 0 0 0 1 1
Note that reordering the create_receiver calls or commenting them out causes different consumer counts.
Attachments
Issue Links
- is duplicated by
-
PROTON-1661 Incomplete name comparision in transport.c pn_find_link()
- Closed