Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.14
-
None
Description
The following valid configuration results in a failure to create a second bridge queue:
./qpidd --auth no --no-data-dir -p 7777 &
./qpidd --auth no --no-data-dir -p 8888 &
./qpidd --auth no --no-data-dir -p 9999 &
[kgiusti@localhost src (trunk)]$ qpid-config -a127.0.0.1:7777 add exchange topic ex1
[kgiusti@localhost src (trunk)]$ qpid-config -a127.0.0.1:8888 add exchange topic ex1
[kgiusti@localhost src (trunk)]$ qpid-config -a127.0.0.1:9999 add exchange topic ex1
[kgiusti@localhost src (trunk)]$ qpid-route -s route add 127.0.0.1:7777 127.0.0.1:8888 ex1 "#"
[kgiusti@localhost src (trunk)]$ qpid-route -s route add 127.0.0.1:9999 127.0.0.1:8888 ex1 "#"
This should result in two bridge queues being created on 127.0.0.1:8888; one queue for the route to :7777, the other for the route to :9999.
What actually happens is one queue is created:
[kgiusti@localhost src (trunk)]$ qpid-stat -q 127.0.0.1:8888
Queues
queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind
====================================================================================================================================
...
bridge_queue_1_c1de955c-3632-4a7d-b6d8-be9890ff38b3 Y Y 0 0 0 0 0 0 1 2
...
This is due to the way the broker generates the name for the queue. The format of the name is "bridge_queue_" + channel# + broker's federation uuid. In the failure case, the channel # happens to be the same for both routes, which results in duplicate names for different queues.