Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3356

Dynamic Federation doesn't work as expected for headers exchange

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Auto Closed
    • 0.13
    • None
    • C++ Broker
    • None

    Description

      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,)

      Further, duplicate messages can then be received at the subscribers. 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.

      Attachments

        Activity

          People

            kgiusti Ken Giusti
            gsim Gordon Sim
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: