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

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

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 5.5.1
    • Fix Version/s: 5.6.0
    • Component/s: Broker
    • Labels:
      None
    • Environment:

      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: