[
https://issues.apache.org/jira/browse/AMQ-5112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13942950#comment-13942950
]
Dejan Bosanac commented on AMQ-5112:
------------------------------------
Thanks Dhiraj, I applied the patch and also improved
testClientConnectionFailure() test which was failing intermittently. It looks
good now.
> MQTT server connections are not thread safe
> -------------------------------------------
>
> Key: AMQ-5112
> URL: https://issues.apache.org/jira/browse/AMQ-5112
> Project: ActiveMQ
> Issue Type: Bug
> Components: MQTT
> Affects Versions: 5.9.0
> Reporter: Dhiraj Bokde
> Assignee: Dejan Bosanac
> Priority: Blocker
> Fix For: 5.10.0
>
> Attachments: AMQ-5112.patch, AMQ-5112.patch2
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.2#6252)