[
https://issues.apache.org/jira/browse/ARTEMIS-1272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16079203#comment-16079203
]
ASF GitHub Bot commented on ARTEMIS-1272:
-----------------------------------------
Github user clebertsuconic commented on the issue:
https://github.com/apache/activemq-artemis/pull/1389
@mtaylor if you received two messages on the client... if you ack the last
one, what should be the outcome? both acked.. or just the one you acked?
Just trying to figure out what the MQTT spec says... I may find out on
monday.. right now (saturday) it's easier to ask :)
> Artemis incorrectly handle MQTT acknowledgement
> -----------------------------------------------
>
> Key: ARTEMIS-1272
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1272
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: MQTT
> Affects Versions: 1.5.3, 2.1.0
> Reporter: Odyldzhon Toshbekov
>
> 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
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)