Uploaded image for project: 'A-MQ Broker'
  1. A-MQ Broker
  2. ENTMQBR-785

ActiveMQServer.updateQueue or cli.updateQueue is broken, may lose messages

    Details

    • Type: Bug
    • Status: Done
    • Priority: Blocker
    • Resolution: Done
    • Affects Version/s: AMQ 7.0.2.GA
    • Fix Version/s: AMQ 7.0.3.GA
    • Component/s: None
    • Labels:
      None
    • Environment:

      Released 7.0.2 GA broker

    • Target Release:
    • Steps to Reproduce:
      Hide

      1. create a durable queue

      java  -jar /var/dtests/node_data/clients/amqx.jar  queue  --action add --name update_me_queue --durable true
      

      2. Send few messages there

      java -jar /var/dtests/node_data/clients/aoc7.jar sender --conn-username admin --conn-password admin --count 10 -a update_me_queue --log-msgs dict
      

      3. perform any update on queue property

      jboss-amq-7-i0/bin/artemis  queue update --max-consumers 10 --name update_me_queue --user admin --password admin --anycast
      

      4. Restart broker and observe that queue is not present and messages are lost.

      Show
      1. create a durable queue java -jar /var/dtests/node_data/clients/amqx.jar queue --action add --name update_me_queue --durable true 2. Send few messages there java -jar /var/dtests/node_data/clients/aoc7.jar sender --conn-username admin --conn-password admin --count 10 -a update_me_queue --log-msgs dict 3. perform any update on queue property jboss-amq-7-i0/bin/artemis queue update --max-consumers 10 --name update_me_queue --user admin --password admin --anycast 4. Restart broker and observe that queue is not present and messages are lost.
    • Affects:
      Release Notes, User Experience
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Do not update Queues in a production system.

      Show
      Do not update Queues in a production system.
    • Release Notes Text:
      Hide
      Using the `artemis queue update` command to modify queue attributes results in messages being lost or removed when the broker is restarted.
      To workaround this issue, do not use this command to modify queues in a production system.
      Show
      Using the `artemis queue update` command to modify queue attributes results in messages being lost or removed when the broker is restarted. To workaround this issue, do not use this command to modify queues in a production system.
    • Release Notes Docs Status:
      Documented as Resolved Issue

      Description

      When one sends a message to a durable queue and updates this queue, the queue changes its ID and upon next restart all the messages are removed as queue with that id does not exist.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  clebert.suconic Clebert Suconic
                  Reporter:
                  mtoth Michal Toth
                  Tester:
                  Michal Toth
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: