clebertsuconic commented on issue #2577: ARTEMIS-1604 Artemis deadlock using MQTT Protocol URL: https://github.com/apache/activemq-artemis/pull/2577#issuecomment-472031543 The real issue is, as I said, MQTT was not supposed to direct deliver: It's holding a lock eventually back to the queue here: at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.individualAcknowledge(ServerConsumerImpl.java:886) - blocked on org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl@115d5ec3 at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.individualAcknowledge(ServerSessionImpl.java:825) at org.apache.activemq.artemis.core.protocol.mqtt.MQTTPublishManager.sendMessage(MQTTPublishManager.java:127) at org.apache.activemq.artemis.core.protocol.mqtt.MQTTSessionCallback.sendMessage(MQTTSessionCallback.java:50) at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1089) at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:460) at org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:2757) at org.apache.activemq.artemis.core.server.impl.QueueImpl.deliverDirect(QueueImpl.java:2742) - locked org.apache.activemq.artemis.core.server.impl.QueueImpl@4309e0af at org.apache.activemq.artemis.core.server.impl.QueueImpl.addTail(QueueImpl.java:683) which would certainly dead lock. @michaelandrepearce this is similar to how AMQP would deadlock when we were using the older proton model. MQTT shouldn't do direct deliver.
---------------------------------------------------------------- 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: [email protected] With regards, Apache Git Services
