You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Domenico Francesco Bruscino (Jira)" <ji...@apache.org> on 2023/03/01 08:06:00 UTC

[jira] [Created] (ARTEMIS-4190) config-delete-queues doesn't always work as expected

Domenico Francesco Bruscino created ARTEMIS-4190:
----------------------------------------------------

             Summary: config-delete-queues doesn't always work as expected
                 Key: ARTEMIS-4190
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4190
             Project: ActiveMQ Artemis
          Issue Type: Bug
            Reporter: Domenico Francesco Bruscino
            Assignee: Domenico Francesco Bruscino


Setting config-delete-queues + config-delete-addresses seems not to work as expected in the use case where the original multicast address remains, but the fixed queues within the multicast address are moved to anycast addresses.  Consider the following case:

We start with two multicast addresses, like so:

{code:xml}
<addresses xmlns="urn:activemq:core">
         <address name="DLQ">
            <anycast>
               <queue name="DLQ" />
            </anycast>
         </address>
         <address name="ExpiryQueue">
            <anycast>
               <queue name="ExpiryQueue" />
            </anycast>
         </address>
         <address name="TEST.QUEUE.0">
            <multicast>
               <queue name="TEST.QUEUE.0.1"/>
               <queue name="TEST.QUEUE.0.2"/>
            </multicast>
         </address>
         <address name="TEST.QUEUE.1">
	    <multicast>
               <queue name="TEST.QUEUE.1.1"/>
               <queue name="TEST.QUEUE.1.2"/>
            </multicast>
         </address>   
</addresses>
{code}

We change the addresses to move the internal queues out of the multicast addresses and to anycast addresses, but keeping the original multicast addresses themselves, like so:

{code:xml}
<addresses xmlns="urn:activemq:core">
         <address name="DLQ">
            <anycast>
               <queue name="DLQ" />
            </anycast>
         </address>
         <address name="ExpiryQueue">
            <anycast>
               <queue name="ExpiryQueue" />
            </anycast>
         </address>
         <address name="TEST.QUEUE.0">
            <multicast>
               <queue name="TEST.QUEUE.0"/> 
            </multicast>
         </address>
         <address name="TEST.QUEUE.1">
	    <multicast>
               <queue name="TEST.QUEUE.1"/>
            </multicast>
         </address>
         <address name="TEST.QUEUE.0.1">
            <anycast>
               <queue name="TEST.QUEUE.0.1"/>
            </anycast>
         </address>         
         <address name="TEST.QUEUE.0.2">
            <anycast>
               <queue name="TEST.QUEUE.0.2"/>
            </anycast>
         </address>
         <address name="TEST.QUEUE.1.1">
            <anycast>
               <queue name="TEST.QUEUE.1.1"/>
            </anycast>
         </address>
         <address name="TEST.QUEUE.1.2">
            <anycast>
               <queue name="TEST.QUEUE.1.2"/>
            </anycast>
         </address>    
</addresses>
{code}

We end up with the queues remaining in the multicast addresses, along with new anycast queues of the same name as anycast queues.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)