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

ConcurentStoreAndDispatch can lead to inconsistent message states using VM Transport

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.13.2
    • Fix Version/s: 5.13.3, 5.14.0
    • Component/s: Broker
    • Labels:
      None

      Description

      When messages are added to a store asynchronously (when using concurrent store and dispatch) and then dispatched to a consumer at the same time, there is a race condition that can occur primarily with the VM Transport. The issue is that it's possible that when the VM Transport is copying the message for dispatch, the async task can run at the same time to store the message. It's possible that the copy on dispatch can occur during the same time the async store task is trying to marshall the data and properties which can lead to an inconsistent state of the message (ie null content). This is the cause of the issue in AMQ-6218.

      The proper fix for this is to make sure the beforeMarshall method is called prior to the task running and prior to dispatch.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                cshannon Christopher L. Shannon
                Reporter:
                cshannon Christopher L. Shannon
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: