When MQTT client send acknowledgement Artemis acknowledge previous sent messages.
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