Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-2317

With AMQP protocol, messages from custom expiry queue moves to ExpiryQueue after broker restart

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • AMQ 7.3.0.GA
    • AMQ 7.2.2.GA
    • amqp-protocol
    • None
    • Hide

      Steps to reproduce :

      1. Create queue with custom address setting :

      <address-setting match="exampleQueue">
                  <dead-letter-address>DLQ.exampleQueue</dead-letter-address>
                  <expiry-address>EXPIRY.exampleQueue</expiry-address>
                  <redelivery-delay>5000</redelivery-delay>			
                  <max-delivery-attempts>5</max-delivery-attempts>
                  <!-- with -1 only the global-max-size is in use for limiting -->
                  <max-size-bytes>-1</max-size-bytes>
                  <message-counter-history-day-limit>10</message-counter-history-day-limit>
                  <address-full-policy>PAGE</address-full-policy>
                  <auto-create-queues>true</auto-create-queues>
                  <auto-create-addresses>true</auto-create-addresses>
                  <auto-create-jms-queues>true</auto-create-jms-queues>
                  <auto-create-jms-topics>true</auto-create-jms-topics>
               </address-setting>
                     :
               <address name="exampleQueue">
                  <anycast>
                     <queue name="exampleQueue" />
                  </anycast>
               </address>
               <address name="EXPIRY.exampleQueue">
                  <anycast>
                     <queue name="EXPIRY.exampleQueue" />
                  </anycast>
               </address>
      

      2. Send messages to exampleQueue with ttl 3000ms.

      3. After 3000ms, message will land in EXPIRY.exampleQueue.

      4. Browse EXPIRY.exampleQueue to check Headers & Properties. It will show some numbers for "Header - expiration". Every refresh will change the value of this property.

      5. Restart the broker.

      6. The message from custom EXPIRY.exampleQueue will move to ExpiryQueue if it is there else gets dropped after 3000ms.

      7. With TCP protocol this does not happens. The value of "Header - expiration" is 0 for every ExpiryQueue.

      Show
      Steps to reproduce : 1. Create queue with custom address setting : <address-setting match= "exampleQueue" > <dead-letter-address>DLQ.exampleQueue</dead-letter-address> <expiry-address>EXPIRY.exampleQueue</expiry-address> <redelivery-delay>5000</redelivery-delay> <max-delivery-attempts>5</max-delivery-attempts> <!-- with -1 only the global-max-size is in use for limiting --> <max-size-bytes>-1</max-size-bytes> <message-counter-history-day-limit>10</message-counter-history-day-limit> <address-full-policy>PAGE</address-full-policy> <auto-create-queues> true </auto-create-queues> <auto-create-addresses> true </auto-create-addresses> <auto-create-jms-queues> true </auto-create-jms-queues> <auto-create-jms-topics> true </auto-create-jms-topics> </address-setting> : <address name= "exampleQueue" > <anycast> <queue name= "exampleQueue" /> </anycast> </address> <address name= "EXPIRY.exampleQueue" > <anycast> <queue name= "EXPIRY.exampleQueue" /> </anycast> </address> 2. Send messages to exampleQueue with ttl 3000ms. 3. After 3000ms, message will land in EXPIRY.exampleQueue. 4. Browse EXPIRY.exampleQueue to check Headers & Properties. It will show some numbers for "Header - expiration". Every refresh will change the value of this property. 5. Restart the broker. 6. The message from custom EXPIRY.exampleQueue will move to ExpiryQueue if it is there else gets dropped after 3000ms. 7. With TCP protocol this does not happens. The value of "Header - expiration" is 0 for every ExpiryQueue.

      With AMQP protocol, messages from custom expiry queue moves to ExpiryQueue or gets dropped after broker restart.

            rh-ee-ataylor Andy Taylor
            rhn-support-vkamble Varsha Kamble
            Michal Toth Michal Toth
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: