Understand RabbitMQ MQTT plugin behavior differences when using MQTT 5.0 instead of 3.1.1, including QoS 2 and shared subscriptions

domain: rabbitmq · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Confirm the broker is on RabbitMQ 3.13+, which added MQTT 5.0 support to the built-in rabbitmq_mqtt plugin alongside existing 3.1/3.1.1 support
  2. Expect QoS 2 publishes from an MQTT 3.x client to be silently downgraded to QoS 1; expect an MQTT 5.0 client publishing QoS 2 to be disconnected with reason code 155 ('QoS not supported')
  3. Do not rely on MQTT 5.0 shared subscriptions ($share/<group>/<topic>) — RabbitMQ's MQTT plugin does not support them
  4. If retained messages are needed, choose a store via mqtt.retained_message_store (rabbit_mqtt_retained_msg_store_ets for RAM or the disk-backed default rabbit_mqtt_retained_msg_store_dets, capped at 2GB per vhost)
  5. Cap durable session lifetime with mqtt.max_session_expiry_interval_seconds (default 86400s/1 day), which bounds whatever Session Expiry Interval the client requests
  6. If moving durable MQTT session queues to quorum type, set mqtt.durable_queue_type = quorum only on a fresh cluster before any client creates a durable subscription

Known gotchas

Related routes

Implement key MQTT 5 features not available in MQTT 3.1.1: user properties, reason codes, and shared subscriptions
mqtt.org · 6 steps · unrated
Prevent MQTT 5.0 message echo in a bridge or shared-state topic using No Local, Retain As Published, and Retain Handling subscription options
iot · 5 steps · unrated
Set up MQTT 5.0 shared subscriptions on EMQX to load-balance messages across a consumer group
emqx · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans