[
https://issues.apache.org/jira/browse/ARTEMIS-4132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17680047#comment-17680047
]
ASF subversion and git services commented on ARTEMIS-4132:
----------------------------------------------------------
Commit ca66028b2a596a4ab5a61ec57633fed3e7b85b22 in activemq-artemis's branch
refs/heads/main from Timothy Bish
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=ca66028b2a ]
ARTEMIS-4132 AMQP Receiver default to ANYCAST when creating an address
When an AMQP client subscribes to a new address (non-existing) with a receiver
link, the
address is created with routing type ANYCAST regardles of the default address
creation
configuration of the broker, and ignores even the broker wide default of
MULTICAST.
> broker uses anycast for amqp destination which is configured as multicast
> -------------------------------------------------------------------------
>
> Key: ARTEMIS-4132
> URL: https://issues.apache.org/jira/browse/ARTEMIS-4132
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: AMQP
> Affects Versions: 2.27.1
> Reporter: Erwin Dondorp
> Priority: Major
> Attachments: Dockerfile.recv, Dockerfile.send, recv.py, send.py
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> using:
> * broker configured with default-address-routing-type=MULTICAST (and
> default-queue-routing-type=MULTICAST)
> * clients built with python-qpid-proton, but we have seen the same effect
> with other amqp clients
> When a client is publishing to a new address, the address is created with
> routing type MULTICAST. this is ok.
> When a client is subscribing to a new address, the address is created with
> routing type ANYCAST, which is unexpected.
> To repeat:
> * create plain broker using {{bin/artemis create --allow-anonymous --user
> admin --password admin broker1}}
> * (optional) adjust {{broker1/etc/bootstrap.xml}} and/or adjust
> {{broker1/etc/jolokia-access.xml}} when the broker console can otherwise not
> be used/reached.
> * update {{broker.xml}}: add these 2 lines to the {{address-settings}} for
> '{{#}}'
> {{<default-queue-routing-type>MULTICAST</default-queue-routing-type>}}
> {{<default-address-routing-type>MULTICAST</default-address-routing-type>}}
> * start broker with {{broker1/bin/artemis run}}
> * adjust the broker address in the 2 python files
> * use supplied docker files to build and run a sender and/or a receiver
> scenario 1:
> run only the broker and the sender
> see address '{{demoaddress}}' appear as multicast address
> any messages will disappear as expected because there is no consumer
> scenario 2:
> run only the broker and the receiver
> see address '{{demoaddress}}' appear as anycast (unexpected) address
> a queue with the same name is created under it (consistent)
> remove the address '{{demoaddress}}' between runs because the effect only
> appears for new addresses
> see the attached files
> [~jbertram]: as discussed in the mailing list
--
This message was sent by Atlassian Jira
(v8.20.10#820010)