[
https://issues.apache.org/jira/browse/ARTEMIS-1272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Odyldzhon Toshbekov updated ARTEMIS-1272:
-----------------------------------------
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
was:
When MQTT client send acknowledgement Artemis acknowledge previous 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
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
> 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)