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

config-delete-queues doesn't always work as expected

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.29.0
    • None
    • None

    Description

      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:

      <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>
      

      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:

      <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>
      

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

      Attachments

        Issue Links

          Activity

            People

              brusdev Domenico Francesco Bruscino
              brusdev Domenico Francesco Bruscino
              Votes:
              0 Vote for this issue
              Watchers:
              2 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 - 10m
                  10m