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

[C++ broker] Headers exchange can route a message to one queue multiple times

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.24
    • 0.27
    • C++ Broker
    • None

    Description

      If a message sent to a headers exchange matches two bindings to one queue, it is enqueued to that queue twice.

      Further, if the queue and the message are durable, journal raises error:

      JERR_MAP_DUPLICATE: Attempted to insert record into map using duplicate key.

      Reproducer:

      qpid-config add queue MyQueue --durable
      qpid-config bind amq.match MyQueue SomeKey any property1=value1
      qpid-config bind amq.match MyQueue OtherKey all property2=value2
      qpid-send -a "amq.match" -m 1 -P property1=value1 -P property2=value2 --durable=true

      Attachments

        Activity

          People

            pmoravec Pavel Moravec
            pmoravec Pavel Moravec
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: