MQTT wildcard subscription not working properly with Universal Messaging broker

When I subscribe an MQTT client to a Universal Messaging broker with the multi-level wildcard topic filter “#”, then the broker does not behave as expected. I’ll only receive messages for topics that have already existed before. I won’t receive messages that will be published to new topics. I’ll only be able to listen to the new topics, if I subscribe again after these topics have been used for the first time. The expected behavior is that I’ll receive any message – no matter whether the topic has been used in the past or whether the topic is new.

This issue does not exist with the single-level wildcard “+”.

Reference: MQTT specification regarding “Topic Names and Topic Filters” http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718106

Hi Christian,

This is also my understanding. Can you provide some more information.
What version (and fix level) of Universal Messaging are you using, what is the client implementation and what is the version of the MQTT protocol? I’m assuming it’s 3.1.1 but I’d like to double check just in case.

Thanks,
Stefan

Hi Stefan,

thank you for your support. Universal Messaging tells me “buildInfo="10.5.0.1.124687"”. Yesterday I tested with MQTTBox, and there I had set the checkmark telling “Broker is MQTT v3.1.1 compliant”. Now I’ve made a few more tests. When I remove said checkmark, I get a connection error. Now I’ve also experimented with the Eclipse Mosquitto command line client. There I experience the same issue with the #-wildcard. This client is connecting seamlessly using either of MQTT 3.1.1 and MQTT 3.1, and the choice of version does not affect the issue.

Best regards,
Christian