Repository: activemq-artemis Updated Branches: refs/heads/master 6ad29e403 -> 8666cb61d
ARTEMIS-1408 document synchronization Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/439761d6 Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/439761d6 Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/439761d6 Branch: refs/heads/master Commit: 439761d6b8fe1c7650aa07434e0f98609e4d4084 Parents: 6ad29e4 Author: Justin Bertram <jbert...@apache.org> Authored: Tue Jan 23 10:58:07 2018 -0600 Committer: Michael Pearce <michael.andre.pea...@me.com> Committed: Tue Jan 23 17:07:33 2018 +0000 ---------------------------------------------------------------------- .../activemq/artemis/core/protocol/mqtt/MQTTSessionState.java | 2 ++ 1 file changed, 2 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/439761d6/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTSessionState.java ---------------------------------------------------------------------- diff --git a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTSessionState.java b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTSessionState.java index 4b5c648..6c94c15 100644 --- a/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTSessionState.java +++ b/artemis-protocols/artemis-mqtt-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/mqtt/MQTTSessionState.java @@ -80,6 +80,7 @@ public class MQTTSessionState { } boolean addSubscription(MqttTopicSubscription subscription, WildcardConfiguration wildcardConfiguration) { + // synchronized to prevent race with removeSubscription synchronized (subscriptions) { addressMessageMap.putIfAbsent(MQTTUtil.convertMQTTAddressFilterToCore(subscription.topicName(), wildcardConfiguration), new ConcurrentHashMap<Long, Integer>()); @@ -98,6 +99,7 @@ public class MQTTSessionState { } void removeSubscription(String address) { + // synchronized to prevent race with addSubscription synchronized (subscriptions) { subscriptions.remove(address); addressMessageMap.remove(address);