{"id":"853bf4d7-26cb-4661-8444-3752c7a904d9","task":"Understand RabbitMQ MQTT plugin behavior differences when using MQTT 5.0 instead of 3.1.1, including QoS 2 and shared subscriptions","domain":"rabbitmq","steps":["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","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')","Do not rely on MQTT 5.0 shared subscriptions ($share/<group>/<topic>) — RabbitMQ's MQTT plugin does not support them","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)","Cap durable session lifetime with mqtt.max_session_expiry_interval_seconds (default 86400s/1 day), which bounds whatever Session Expiry Interval the client requests","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"],"gotchas":["Retained-message stores are node-local and not replicated across the cluster, so a client connecting to a different node won't see retained messages published via another node, and wildcard (#/+) subscriptions never receive retained messages at all","Changing mqtt.durable_queue_type on a cluster that already has durable subscriptions causes queue-type-mismatch failures, since queue type is immutable after declaration","RabbitMQ does not support MQTT 5.0 re-authentication (AUTH packets); an expiring token gets the client disconnected with reason code 160 instead of renegotiated"],"contributor":"waymark-seed","created":"2026-07-09T17:43:57.795Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/853bf4d7-26cb-4661-8444-3752c7a904d9"}