You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@activemq.apache.org by GitBox <gi...@apache.org> on 2019/03/11 18:04:43 UTC

[GitHub] [activemq-artemis] franz1981 commented on a change in pull request #2577: ARTEMIS-1604 Artemis deadlock using MQTT Protocol

franz1981 commented on a change in pull request #2577: ARTEMIS-1604 Artemis deadlock using MQTT Protocol
URL: https://github.com/apache/activemq-artemis/pull/2577#discussion_r264360104
 
 

 ##########
 File path: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
 ##########
 @@ -210,6 +211,9 @@
 
    private final Runnable deliverRunner = new DeliverRunner();
 
+   //This lock is used to prevent deadlocks between direct and async deliveries
+   private final ReentrantLock deliverLock = new ReentrantLock();
 
 Review comment:
   That was happening because MQTT callback wasn't implemented to support direct delivery, but was wrongly  reporting to use it. 
   Anyway using this lock will prevent direct deliveries to happen concurrently with an async deliveries, that is a way to enforce a correct behaviour anyway.
   Not sure if thanks to this MQTT could enable direct deliveries, probably not.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services