fix publish(QoS=2) flow