Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-2910

consider routing type annotations during node auto-creation for AMQP anonymous producers

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.15.0
    • 2.16.0
    • AMQP
    • None

    Description

      For AMQP 'anonymous producers' (those that dont have a fixed destination and attach to the null address) the broker bases its 'routing type' decisions on the address a message is sent to, typically falling back to the default routing type from the address settings.
      (Technically it could look at terminus capabilities for type hints, but anonymous producers would not tend to have these for the same reason they dont have a fixed address: it isnt known information at the time).

      This leads to user gotchas where behaviour can be surprising and/or non-deterministic (e.g due to differing timing between producers producing messages and the consumers lifecycle). This is especially true for people wanting to use queues, and encountering interaction with the brokers default multicast routing type (something many arent yet aware of, not having seen the quick detail tucked away in the docs). Here it is easy to send a message 'to a queue' that then gets dropped unexpectedly, but also auto-creates a multicast address that then prevents attaching the consumers aiming to receive such messages from the queue.

      The broker already supports a couple varieties of annotation based mechanism for determining its routing type information from the message (the one AMQP JMS clients use to convey the JMSDestination type, and another of artemis own), but this detail isnt consulted at all during message handling for the anonymous producers currently. Having the broker examine the detail would remove these gotchas when specified.

      Attachments

        Issue Links

          Activity

            People

              robbie Robbie Gemmell
              robbie Robbie Gemmell
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1.5h
                  1.5h