Federation plugin runs into an exception when replicating MQTT v5 bindings due to mqtt_subscription_opts #13033
-
Describe the bugWhen an MQTT v5 client subscribes to a topic, the RabbitMQ MQTT plugin adds a mqtt_subscription_opts tuple to the binding arguments. The Federation plugin fails to replicate these bindings across nodes due to a serialization issue in AMQP 0.9.1, which does not support this custom tuple. This causes the Federation plugin to crash with a function_clause error, disrupting the federation process. Error observed in logs:
Reproduction stepsReproduction steps
Expected behaviorThe Federation plugin should replicate MQTT v5 bindings across nodes without causing crashes or interruptions. MQTT v5 metadata ( Additional context
Environment
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 6 replies
-
@sergio-aguilar-tuhh changing how federation propagates bindings is a big deal, it would not a backwards compatible change, and the federation "data format" has been backwards compatible for some 15 years now. @ansd what do you think our options are here? |
Beta Was this translation helpful? Give feedback.
-
Thank you for the quick response, @michaelklishin. For now, I’ve been exploring a workaround by filtering out mqtt_subscription_opts in the MQTT plugin, but it’s not ideal since it limits MQTT v5 features. |
Beta Was this translation helpful? Give feedback.
@michaelklishin I described what I think is the best solution in #13040