Dynamic Federation doesn't work as expected for headers exchange
----------------------------------------------------------------
Key: QPID-3356
URL: https://issues.apache.org/jira/browse/QPID-3356
Project: Qpid
Issue Type: Bug
Components: C++ Broker
Affects Versions: 0.13
Reporter: Gordon Sim
start two brokers, link amq.match using a dynamic route in one direction, start
two subscribers on the destination broker (e.g two drain instances from
amq.match; {link:{x-bindings:[{arguments:{source:B, x-match:any}}]}} and
amq.match; {link:{x-bindings:[{arguments:{format:standard, x-match:any}}]}}
respectively), you then see the following error appear on the source broker
after a second or so:
error Detected two management objects with the same identifier:
0-614-1--18(org.apache.qpid.broker:binding:org.apache.qpid.broker:exchange:amq.match,org.apache.qpid.broker:queue:bridge_queue_1_a51ddbb5-bac4-4e6a-ba45-3a2e1b096858,)
There also seems to be duplicate queues in place (though the management tools
don't show them, I think because of the error above), such that you get
duplicated messages. E.g. send a message to the source broker that matches each
subscriber and observe that the message is received twice by each of them (e.g.
spout --content my-message -P format=standard -P source=B amq.match)
This appears to be due to the same binding key being used for two different
subscriptions. E.g. if you changes the addresses for the drains above to:
amq.match; {link:{x-bindings:[{key: key1, arguments:{source:B, x-match:any}}]}}
and amq.match; {link:{x-bindings:[{key: key2, arguments:{format:standard,
x-match:any}}]}} respectively, i.e. add unique keys to each, then you avoid the
error and the message duplication.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]