# QoS and Message Queueing on the Broker

**URL:** <https://community.hivemq.com/t/qos-and-message-queueing-on-the-broker/3936>\
**Category:** MQTT\
**Created:** [October 8, 2025, 7:28pm UTC](https://community.hivemq.com/t/qos-and-message-queueing-on-the-broker/3936 "2025-10-08T19:28:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![SilaBen](https://avatars.discourse-cdn.com/v4/letter/s/977dab/32.png) [@SilaBen](https://community.hivemq.com/u/SilaBen)\
**Post date:** [October 8, 2025, 7:28pm UTC](https://community.hivemq.com/t/qos-and-message-queueing-on-the-broker/3936/1 "2025-10-08T19:28:47Z")

</div>

I have an edge node that implements the sparkplug B protocol. It publishes messages to DDATA topics with QoS 0. I have an MQTT client that:

- Subscribes to the DDATA topics using QoS 1
- Sets the clean-session flag to false (which creates a persistent session)

I’m doing some experiments using a local HiveMQ server running in a container. I connected both the publisher and subscriber clients and forced the publisher to send a few messages (BIRTH and DATA messages) and confirmed that the subscriber received them. I then disconnected the subscriber client from the broker and forced the publisher to send a few DDATA messages (at QoS 0). In the HiveMQ control interface, I inspected the subscriber client and noticed that HIveMQ reported that it has queued messages for the client. This is where I would like some clarification. I thought that messages published at QoS 0 would not be queued for delivery when a subscribed client goes offline. Am I wrong on this?

---

<div class="post-metadata">

**Author:** ![hivemq-support](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.hivemq.com/hivemq-support/32/357_2.png) [@hivemq-support](https://community.hivemq.com/u/hivemq-support)\
**Post date:** [October 8, 2025, 9:12pm UTC](https://community.hivemq.com/t/qos-and-message-queueing-on-the-broker/3936/2 "2025-10-08T21:12:06Z")

</div>

Hello SilaBen,

Thanks for reaching out on our HiveMQ Community Forum.

That’s correct, clients that subscribe or publish with QoS 0 do not qualify for retained/queued messages.  
I’ve tested session persistence with a subscriber client with QoS 1, and a publisher client with QoS 0 in my test environment, and do not see any queued messages in my Control Center.

These are the steps I’ve performed:

- subscribe client with QoS1 and -no-cleanStart
- published with QoS 0
- confirmed receipt of payload messages on the subscribe client
- disconnected the subscribe client
- published with QoS 0
- Confirmed in Control Center that there are no queued messages
- reconnected the subscribe client with Qos1 and -no-cleanStart
- there are no retained messages to publish

Were there any steps you’ve performed that deviated from the above?  
Please provide the detailed steps / MQTT client commands I can execute on my side to see if I can reproduce the issue.

Regards,  
Gil

---

<div class="post-metadata">

**Author:** ![SilaBen](https://avatars.discourse-cdn.com/v4/letter/s/977dab/32.png) [@SilaBen](https://community.hivemq.com/u/SilaBen)\
**Post date:** [October 9, 2025, 4:09pm UTC](https://community.hivemq.com/t/qos-and-message-queueing-on-the-broker/3936/3 "2025-10-09T16:09:11Z")

</div>

Hi Gil,

Thanks for looking into this. I just found my mistake. The publisher client was using QoS 1 and not QoS 0, as I mistakenly thought. Sorry for the confusion.

-Ben

---

<div class="post-metadata">

**Author:** ![hivemq-support](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.hivemq.com/hivemq-support/32/357_2.png) [@hivemq-support](https://community.hivemq.com/u/hivemq-support)\
**Post date:** [October 9, 2025, 5:28pm UTC](https://community.hivemq.com/t/qos-and-message-queueing-on-the-broker/3936/4 "2025-10-09T17:28:42Z")

</div>

Hello Ben,

Glad to hear you’ve identified the issue.  
​If at anytime you have any questions, please don’t hesitate to reach out in our forum.

Regards,  
Gil
