Hi,
Using Artemis 2.34.0 and we are seeing
java.lang.IllegalStateException: AMQ850000: Unable to store MQTT state within
given timeout: 5000ms
at
org.apache.activemq.artemis.core.protocol.mqtt.MQTTStateManager.storeSessionState(MQTTStateManager.java:192)
at
org.apache.activemq.artemis.core.protocol.mqtt.MQTTSubscriptionManager.addSubscriptions(MQTTSubscriptionManager.java:334)
In the broker logs. I see that ARTEMIS-5499 addresses this in Artemis 2.42.0,
but we are not yet able to upgrade to that release. We are using a JWT for
authenticating with the broker which has a 5 min time expiration, and it
appears that there was a significant delay in the front-end processing of the
MQTT broker. As a result, by the time the system evaluates a connection
request's JWT (JSON Web Token), the token is already expired by 1 to 3 minutes.
At that point, the client is disconnected and repeatedly attempts to reconnect.
In ARTEMIS-5499 I see a reference to a possible workaround, “Previously,
disabling subscription persistence involved disabling the underlying queue.”.
We are using MQTT, but not using persistent subscriptions. Would Artemis
2.34.0 support this possible workaround and would it need to be applied to each
connection to the broker?
Paul Shields