Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-1272

Artemis incorrectly handle MQTT acknowledgement

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.3, 2.1.0
    • Fix Version/s: 2.2.0
    • Component/s: MQTT
    • Labels:
      None

      Description

      When MQTT client send acknowledgement Artemis acknowledge previous sent messages.
      Test case:
      1. Connect to Broker (client 1)
      2. Connect to Broker (client 2)
      2. Send two messages with QOS = 1
      3. Send acknowledgement for second message
      A.R. Artemis will remove from queue first and second message
      E.R. Artemis should remove only second message
      4. Send acknowledgement for first message
      A.R. WARN message "attempted to Ack already Ack'd message"

      The cause of the problem located in the class MQTTPublisherManager methods "handlePubRec", "handlePubComp", "handlePubAck" and "sendMessage"

      Fix: replace "session.getServerSession().acknowledge" to session.getServerSession().individualAcknowledge

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                odyldzhon@gmail.com Odyldzhon Toshbekov
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: