From e369c1b971b31fdf1ef16f8dc47eac811a11bfb8 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Fri, 19 Jan 2024 10:13:59 -0300 Subject: [PATCH 1/2] docs(mqtt_source): fix example qos --- apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_pubsub_schema.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_pubsub_schema.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_pubsub_schema.erl index 05b2d6d3a..fdb14315c 100644 --- a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_pubsub_schema.erl +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_pubsub_schema.erl @@ -187,7 +187,7 @@ source_examples(Method) -> #{ parameters => #{ topic => <<"remote/topic">>, - qos => 2 + qos => 1 } } ) From d22092e3da3af8b6120436af421ec1e2385013db Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Fri, 19 Jan 2024 10:07:56 -0300 Subject: [PATCH 2/2] fix(mqtt_source): don't attempt local publish when legacy config is absent Fixes https://emqx.atlassian.net/browse/EMQX-11765 --- apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_ingress.erl | 6 ++++-- .../test/emqx_bridge_mqtt_v2_subscriber_SUITE.erl | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_ingress.erl b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_ingress.erl index 369238ecf..08127ebcd 100644 --- a/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_ingress.erl +++ b/apps/emqx_bridge_mqtt/src/emqx_bridge_mqtt_ingress.erl @@ -18,6 +18,7 @@ -include_lib("emqx/include/logger.hrl"). -include_lib("emqx/include/emqx_mqtt.hrl"). +-include_lib("snabbkaffe/include/snabbkaffe.hrl"). %% management APIs -export([ @@ -284,9 +285,10 @@ maybe_on_message_received(Msg, {Mod, Func, Args}) -> maybe_on_message_received(_Msg, undefined) -> ok. -maybe_publish_local(Msg, Local = #{}, Props) -> +maybe_publish_local(Msg, Local = #{topic := Topic}, Props) when Topic =/= undefined -> + ?tp(mqtt_ingress_publish_local, #{msg => Msg, local => Local}), emqx_broker:publish(to_broker_msg(Msg, Local, Props)); -maybe_publish_local(_Msg, undefined, _Props) -> +maybe_publish_local(_Msg, _Local, _Props) -> ok. %% diff --git a/apps/emqx_bridge_mqtt/test/emqx_bridge_mqtt_v2_subscriber_SUITE.erl b/apps/emqx_bridge_mqtt/test/emqx_bridge_mqtt_v2_subscriber_SUITE.erl index 3e5471d55..62e0e4f51 100644 --- a/apps/emqx_bridge_mqtt/test/emqx_bridge_mqtt_v2_subscriber_SUITE.erl +++ b/apps/emqx_bridge_mqtt/test/emqx_bridge_mqtt_v2_subscriber_SUITE.erl @@ -238,6 +238,9 @@ t_receive_via_rule(Config) -> end, fun(Trace) -> ?assertEqual([], ?of_kind("action_references_nonexistent_bridges", Trace)), + %% We don't have the hidden, legacy `local' config set, so we shouldn't + %% attempt to publish directly. + ?assertEqual([], ?of_kind(mqtt_ingress_publish_local, Trace)), ok end ),