Sometimes, the messages are not delivered immediately to durable subscribers

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Sometimes, the messages are not delivered immediately to durable subscribers

Shobhana
We are using AMQ version 5.14.0 and we have observed that sometimes, the messages don't get delivered from the topics to active durable subscribers (Android app connected via MQTT). I observed following log when this happened in our production server :

Transport Connection to: tcp://x.y.z.a:2686 failed: java.io.IOException: Connection timed out | org.apache.activemq.broker.TransportConnection.Transport | ActiveMQ NIO Worker

Unfortunately, since this is a production server, I can't stop the same to change the log level so that we can get more information about this. We have disabled JMX in production; so can't use the admin console to check what could be the problem.

The durable subscriber is configured with keep-alive as 2 minutes and on the AMQ broker, the mqtt+nio transport connector is configured with wireFormat.maxInactivityDuration=180000. Essentially, the MQTT connection to the transport connector would not become inactive .

If the connection is broken for some reason, the connectionLost() method of the durable subscriber should be invoked, but logs indicate that the connection is still fine.

If I re-open the app (which results in re-establishing the connection), the durable subscribers get the message immediately.

Any idea why this could be happening?