Description
MQTTProtocolConverter uses MQTTTransportFilter.sendToMQTT() to send packets to clients. However, there is a race condition where the converter is sending SUBACK or other acks to clients when ActiveMQ messages from the Broker also try to call sendToMQTT() to send PUBLISH packets to the same client.
A patch is included which fixes this by synchronizing the call to the underlying transport buffer in MQTTTransportFilter.sendToMQTT(). This also resolves another issue AMQ-4712, where some tests would intermittently fail due to this race condition. Those tests were marked as ignored, so this patch enables them again.