You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Clebert Suconic (Jira)" <ji...@apache.org> on 2020/11/03 01:18:01 UTC

[jira] [Closed] (ARTEMIS-2910) consider routing type annotations during node auto-creation for AMQP anonymous producers

     [ https://issues.apache.org/jira/browse/ARTEMIS-2910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Clebert Suconic closed ARTEMIS-2910.
------------------------------------

> consider routing type annotations during node auto-creation for AMQP anonymous producers
> ----------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-2910
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2910
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 2.15.0
>            Reporter: Robbie Gemmell
>            Assignee: Robbie Gemmell
>            Priority: Major
>             Fix For: 2.16.0
>
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)