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

When duplicate message occur from network producer, messages blocked by cursor audit are blocked till restart

    Details

      Description

      If auditNetworkProducers is off (as it is by default) a reforward (because of a missing send reply) will be a duplicate.
      If the initial messages is still in the store the duplicate will be trapped by the message cursor but the message remains in the store. So on a restart the cursor is fresh (unless in the case of jdbc when there are still messages in the store) and the message gets redispatched. In the jdbc case - if the store/destination is empty there will be a resend b/c there is no sequence state to replay.
      Duplicates detected by the cursor need to deal with the duplicate message - moving to the DLQ makes the most sense - the cause can indicate the reason to allow separation from poison due to redelivery failure.

      Client duplicate detection currently uses a poison ack, so this makes the behaviour consistent.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                gtully Gary Tully
                Reporter:
                gtully Gary Tully
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: