Oh, and here's what it looks like if I send a QOS2 message from the IBM sample java client:
Mar 10 18:58:12 lyra mosquitto[22265]: Received PUBLISH from MQTT_Utility
Mar 10 18:58:12 lyra mosquitto[22265]: Sending PUBREC to MQTT_Utility (Mid: 2)
Mar 10 18:58:13 lyra mosquitto[22265]: Received PUBREL from MQTT_Utility (Mid: 2)
Mar 10 18:58:13 lyra mosquitto[22265]: Sending PUBCOMP to MQTT_Utility (Mid: 2)
Mar 10 18:58:13 lyra mosquitto[22265]: Sending PUBLISH to MQTT_Utility 3 (0, 2, 1, 3, 'mytopic', ... (15 bytes))
Mar 10 18:58:13 lyra mosquitto[22265]: Received PUBREC from MQTT_Utility 3 (Mid: 3)
Mar 10 18:58:13 lyra mosquitto[22265]: Sending PUBREL to MQTT_Utility 3 (Mid: 3)
Mar 10 18:58:13 lyra mosquitto[22265]: Received PUBCOMP from MQTT_Utility 3 (Mid: 3)
That seems to work fine as well. So I think the problem lies in mosquitto_pub, and not in the mosquitto daemon.
Oh, and here's what it looks like if I send a QOS2 message from the IBM sample java client:
Mar 10 18:58:12 lyra mosquitto[22265]: Received PUBLISH from MQTT_Utility
Mar 10 18:58:12 lyra mosquitto[22265]: Sending PUBREC to MQTT_Utility (Mid: 2)
Mar 10 18:58:13 lyra mosquitto[22265]: Received PUBREL from MQTT_Utility (Mid: 2)
Mar 10 18:58:13 lyra mosquitto[22265]: Sending PUBCOMP to MQTT_Utility (Mid: 2)
Mar 10 18:58:13 lyra mosquitto[22265]: Sending PUBLISH to MQTT_Utility 3 (0, 2, 1, 3, 'mytopic', ... (15 bytes))
Mar 10 18:58:13 lyra mosquitto[22265]: Received PUBREC from MQTT_Utility 3 (Mid: 3)
Mar 10 18:58:13 lyra mosquitto[22265]: Sending PUBREL to MQTT_Utility 3 (Mid: 3)
Mar 10 18:58:13 lyra mosquitto[22265]: Received PUBCOMP from MQTT_Utility 3 (Mid: 3)
That seems to work fine as well. So I think the problem lies in mosquitto_pub, and not in the mosquitto daemon.