Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-3818

Delayed persistent messages are lost if the broker is hard killed during the delay.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 5.5.1
    • 5.6.0
    • Broker
    • None
    • Windows 7 and Linux.

    Description

      Persistent messages that are sent with a delay are lost by the ActiveMQ 5.5.1 broker if the broker is hard killed before the scheduler finishes its work at the end of the delay. This isn't a problem if the broker is gracefully shutdown or if the broker continues to run beyond the delay, even if a consumer isn't waiting to immediately consume the message. If the broker goes down hard during the delay, even if the broker isn't busy, then it will lose 100% of the persistent messages that are waiting for their delay to come to an end.

      A simple test case that reproduces this issue can be made by having a producer send one thousand messages that each have a one minute delay. As soon as the last message has been sent by the producer wait an addtional second or two and then hard kill the broker. The hard kill should happen before the one minute delay has passed for the first message. Immediately restart the broker and then start a consumer that is looking for those one thousand messages. Even after a couple of minutes, the messages will not have made it to the consumer.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              devdwain Dwain Theobald
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: