If the server fails between the client sending a pubrec and receiving a pubrel, a QoS 2 publish can be delivered twice tot he application.
We should update the persistence state of the message after returning from the call to the applications delivery handler. However, this is still an issue in the case where the delivery handler is launched in a separate goroutine.
If the server fails between the client sending a pubrec and receiving a pubrel, a QoS 2 publish can be delivered twice tot he application.
We should update the persistence state of the message after returning from the call to the applications delivery handler. However, this is still an issue in the case where the delivery handler is launched in a separate goroutine.