chore: eliminate some compiling warnings and improve change logs
This commit is contained in:
parent
b294bad88e
commit
bf1a3fe1eb
|
@ -14,10 +14,8 @@ File format:
|
||||||
|
|
||||||
### Enhancements
|
### Enhancements
|
||||||
|
|
||||||
* ExHook add a new field named `meta` to provide emqx `cluster_name`.
|
* Add `RequestMeta` for exhook.proto in order to expose `cluster_name` of emqx in each gRPC request. [#7524]
|
||||||
The grpc server can handle calls separately for different clusters. [#7524]
|
* Support customize emqx_exhook execution priority. [#7408]
|
||||||
* In order to fix the execution order of exhook, e.g. before/after other plugins/modules,
|
|
||||||
ExHook now supports user customizing emqx_hook execute priority. [#7408]
|
|
||||||
* add api: PUT /rules/{id}/reset_metrics.
|
* add api: PUT /rules/{id}/reset_metrics.
|
||||||
This api reset the metrics of the rule engine of a rule, and reset the metrics of the action related to this rule. [#7474]
|
This api reset the metrics of the rule engine of a rule, and reset the metrics of the action related to this rule. [#7474]
|
||||||
* Enhanced rule engine error handling when json parsing error.
|
* Enhanced rule engine error handling when json parsing error.
|
||||||
|
|
|
@ -112,8 +112,8 @@ t_rpc(Config) when is_list(Config) ->
|
||||||
ClientId = <<"ClientId">>,
|
ClientId = <<"ClientId">>,
|
||||||
try
|
try
|
||||||
{ok, ConnPid} = emqtt:start_link([{clientid, ClientId}]),
|
{ok, ConnPid} = emqtt:start_link([{clientid, ClientId}]),
|
||||||
{ok, _Props} = emqtt:connect(ConnPid),
|
{ok, _} = emqtt:connect(ConnPid),
|
||||||
{ok, _Props, [1]} = emqtt:subscribe(ConnPid, {<<"forwarded/t_rpc/one">>, ?QOS_1}),
|
{ok, _, [1]} = emqtt:subscribe(ConnPid, {<<"forwarded/t_rpc/one">>, ?QOS_1}),
|
||||||
timer:sleep(100),
|
timer:sleep(100),
|
||||||
{ok, _PacketId} = emqtt:publish(ConnPid, <<"t_rpc/one">>, <<"hello">>, ?QOS_1),
|
{ok, _PacketId} = emqtt:publish(ConnPid, <<"t_rpc/one">>, <<"hello">>, ?QOS_1),
|
||||||
timer:sleep(100),
|
timer:sleep(100),
|
||||||
|
@ -151,14 +151,14 @@ t_mqtt(Config) when is_list(Config) ->
|
||||||
ssl => false,
|
ssl => false,
|
||||||
%% Consume back to forwarded message for verification
|
%% Consume back to forwarded message for verification
|
||||||
%% NOTE: this is a indefenite loopback without mocking emqx_bridge_worker:import_batch/1
|
%% NOTE: this is a indefenite loopback without mocking emqx_bridge_worker:import_batch/1
|
||||||
subscriptions => [{SendToTopic2, _QoS = 1}],
|
subscriptions => [{SendToTopic2, ?QOS_1}],
|
||||||
receive_mountpoint => <<"receive/aws/">>,
|
receive_mountpoint => <<"receive/aws/">>,
|
||||||
start_type => auto},
|
start_type => auto},
|
||||||
{ok, Pid} = emqx_bridge_worker:start_link(?FUNCTION_NAME, Cfg),
|
{ok, Pid} = emqx_bridge_worker:start_link(?FUNCTION_NAME, Cfg),
|
||||||
ClientId = <<"client-1">>,
|
ClientId = <<"client-1">>,
|
||||||
try
|
try
|
||||||
?assertEqual([{SendToTopic2, 1}], emqx_bridge_worker:get_subscriptions(Pid)),
|
?assertEqual([{SendToTopic2, 1}], emqx_bridge_worker:get_subscriptions(Pid)),
|
||||||
ok = emqx_bridge_worker:ensure_subscription_present(Pid, SendToTopic3, _QoS = 1),
|
ok = emqx_bridge_worker:ensure_subscription_present(Pid, SendToTopic3, ?QOS_1),
|
||||||
?assertEqual([{SendToTopic3, 1},{SendToTopic2, 1}],
|
?assertEqual([{SendToTopic3, 1},{SendToTopic2, 1}],
|
||||||
emqx_bridge_worker:get_subscriptions(Pid)),
|
emqx_bridge_worker:get_subscriptions(Pid)),
|
||||||
{ok, ConnPid} = emqtt:start_link([{clientid, ClientId}]),
|
{ok, ConnPid} = emqtt:start_link([{clientid, ClientId}]),
|
||||||
|
|
|
@ -54,7 +54,7 @@ t_update_max_age(_Config) ->
|
||||||
?LOGT("Reply =~p", [Reply]),
|
?LOGT("Reply =~p", [Reply]),
|
||||||
{ok,created, #coap_content{location_path = LocPath}} = Reply,
|
{ok,created, #coap_content{location_path = LocPath}} = Reply,
|
||||||
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
||||||
TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload1, _TimeStamp}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
||||||
?LOGT("lookup topic info=~p", [TopicInfo]),
|
?LOGT("lookup topic info=~p", [TopicInfo]),
|
||||||
?assertEqual(60, MaxAge1),
|
?assertEqual(60, MaxAge1),
|
||||||
?assertEqual(<<"42">>, CT1),
|
?assertEqual(<<"42">>, CT1),
|
||||||
|
@ -65,7 +65,7 @@ t_update_max_age(_Config) ->
|
||||||
Reply1 = er_coap_client:request(post, URI, #coap_content{max_age = 70, format = <<"application/link-format">>, payload = Payload1}),
|
Reply1 = er_coap_client:request(post, URI, #coap_content{max_age = 70, format = <<"application/link-format">>, payload = Payload1}),
|
||||||
{ok,created, #coap_content{location_path = LocPath}} = Reply1,
|
{ok,created, #coap_content{location_path = LocPath}} = Reply1,
|
||||||
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
||||||
[{TopicInPayload, MaxAge2, CT2, _ResPayload, _TimeStamp1}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
[{TopicInPayload, MaxAge2, CT2, _ResPayload2, _TimeStamp1}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
||||||
?assertEqual(70, MaxAge2),
|
?assertEqual(70, MaxAge2),
|
||||||
?assertEqual(<<"50">>, CT2),
|
?assertEqual(<<"50">>, CT2),
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ t_create_subtopic(_Config) ->
|
||||||
?LOGT("Reply =~p", [Reply]),
|
?LOGT("Reply =~p", [Reply]),
|
||||||
{ok,created, #coap_content{location_path = LocPath}} = Reply,
|
{ok,created, #coap_content{location_path = LocPath}} = Reply,
|
||||||
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
||||||
TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload, _TimeStamp}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload1, _TimeStamp}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
||||||
?LOGT("lookup topic info=~p", [TopicInfo]),
|
?LOGT("lookup topic info=~p", [TopicInfo]),
|
||||||
?assertEqual(60, MaxAge1),
|
?assertEqual(60, MaxAge1),
|
||||||
?assertEqual(<<"42">>, CT1),
|
?assertEqual(<<"42">>, CT1),
|
||||||
|
@ -99,7 +99,7 @@ t_create_subtopic(_Config) ->
|
||||||
?LOGT("Reply =~p", [Reply1]),
|
?LOGT("Reply =~p", [Reply1]),
|
||||||
{ok,created, #coap_content{location_path = LocPath1}} = Reply1,
|
{ok,created, #coap_content{location_path = LocPath1}} = Reply1,
|
||||||
?assertEqual([<<"/ps/topic1/subtopic">>] ,LocPath1),
|
?assertEqual([<<"/ps/topic1/subtopic">>] ,LocPath1),
|
||||||
[{FullTopic, MaxAge2, CT2, _ResPayload, _}] = emqx_coap_pubsub_topics:lookup_topic_info(FullTopic),
|
[{FullTopic, MaxAge2, CT2, _ResPayload2, _}] = emqx_coap_pubsub_topics:lookup_topic_info(FullTopic),
|
||||||
?assertEqual(60, MaxAge2),
|
?assertEqual(60, MaxAge2),
|
||||||
?assertEqual(<<"42">>, CT2),
|
?assertEqual(<<"42">>, CT2),
|
||||||
|
|
||||||
|
@ -132,7 +132,7 @@ t_refreash_max_age(_Config) ->
|
||||||
?LOGT("Reply =~p", [Reply]),
|
?LOGT("Reply =~p", [Reply]),
|
||||||
{ok,created, #coap_content{location_path = LocPath}} = Reply,
|
{ok,created, #coap_content{location_path = LocPath}} = Reply,
|
||||||
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
||||||
TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload, TimeStamp}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
TopicInfo = [{TopicInPayload, MaxAge1, CT1, _ResPayload1, TimeStamp}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
||||||
?LOGT("lookup topic info=~p", [TopicInfo]),
|
?LOGT("lookup topic info=~p", [TopicInfo]),
|
||||||
?LOGT("TimeStamp=~p", [TimeStamp]),
|
?LOGT("TimeStamp=~p", [TimeStamp]),
|
||||||
?assertEqual(5, MaxAge1),
|
?assertEqual(5, MaxAge1),
|
||||||
|
@ -144,7 +144,7 @@ t_refreash_max_age(_Config) ->
|
||||||
Reply1 = er_coap_client:request(post, URI, #coap_content{max_age = 5, format = <<"application/link-format">>, payload = Payload1}),
|
Reply1 = er_coap_client:request(post, URI, #coap_content{max_age = 5, format = <<"application/link-format">>, payload = Payload1}),
|
||||||
{ok,created, #coap_content{location_path = LocPath}} = Reply1,
|
{ok,created, #coap_content{location_path = LocPath}} = Reply1,
|
||||||
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
?assertEqual([<<"/ps/topic1">>] ,LocPath),
|
||||||
[{TopicInPayload, MaxAge2, CT2, _ResPayload, TimeStamp1}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
[{TopicInPayload, MaxAge2, CT2, _ResPayload2, TimeStamp1}] = emqx_coap_pubsub_topics:lookup_topic_info(TopicInPayload),
|
||||||
?LOGT("TimeStamp1=~p", [TimeStamp1]),
|
?LOGT("TimeStamp1=~p", [TimeStamp1]),
|
||||||
?assertEqual(5, MaxAge2),
|
?assertEqual(5, MaxAge2),
|
||||||
?assertEqual(<<"50">>, CT2),
|
?assertEqual(<<"50">>, CT2),
|
||||||
|
|
|
@ -149,9 +149,9 @@ restart_app_with_envs(App, Envs)
|
||||||
when is_list(Envs) ->
|
when is_list(Envs) ->
|
||||||
emqx_ct_helpers:stop_apps([App]),
|
emqx_ct_helpers:stop_apps([App]),
|
||||||
HandlerFun =
|
HandlerFun =
|
||||||
fun(App) ->
|
fun(AppName) ->
|
||||||
lists:foreach(fun({Key, Val}) ->
|
lists:foreach(fun({Key, Val}) ->
|
||||||
application:set_env(App, Key, Val)
|
application:set_env(AppName, Key, Val)
|
||||||
end, Envs)
|
end, Envs)
|
||||||
end,
|
end,
|
||||||
emqx_ct_helpers:start_apps([App], HandlerFun).
|
emqx_ct_helpers:start_apps([App], HandlerFun).
|
||||||
|
|
|
@ -30,10 +30,10 @@ init_per_suite(Config) ->
|
||||||
end_per_suite(_Config) ->
|
end_per_suite(_Config) ->
|
||||||
emqx_ct_helpers:stop_apps([emqx_retainer]).
|
emqx_ct_helpers:stop_apps([emqx_retainer]).
|
||||||
|
|
||||||
init_per_testcase(TestCase, Config) ->
|
init_per_testcase(_TestCase, Config) ->
|
||||||
Config.
|
Config.
|
||||||
|
|
||||||
end_per_testcase(_TestCase, Config) ->
|
end_per_testcase(_TestCase, _Config) ->
|
||||||
emqx_retainer:clean(<<"#">>).
|
emqx_retainer:clean(<<"#">>).
|
||||||
|
|
||||||
t_cmd(_) ->
|
t_cmd(_) ->
|
||||||
|
|
|
@ -62,7 +62,7 @@ t_mod_rewrite(_Config) ->
|
||||||
timer:sleep(100),
|
timer:sleep(100),
|
||||||
?assertEqual([], emqx_broker:subscriptions(<<"rewrite_client">>)),
|
?assertEqual([], emqx_broker:subscriptions(<<"rewrite_client">>)),
|
||||||
%% Pub Rules
|
%% Pub Rules
|
||||||
{ok, _Props, _} = emqtt:subscribe(C, [{Topic, ?QOS_1} || Topic <- PubDestTopics]),
|
{ok, _, _} = emqtt:subscribe(C, [{Topic, ?QOS_1} || Topic <- PubDestTopics]),
|
||||||
RecvTopics2 = [begin
|
RecvTopics2 = [begin
|
||||||
ok = emqtt:publish(C, Topic, <<"payload">>),
|
ok = emqtt:publish(C, Topic, <<"payload">>),
|
||||||
{ok, #{topic := RecvTopic}} = receive_publish(100),
|
{ok, #{topic := RecvTopic}} = receive_publish(100),
|
||||||
|
|
|
@ -39,7 +39,7 @@ t_trans(_) ->
|
||||||
ok = emqx_cm_locker:trans(<<"clientid">>, fun(_) -> ok end).
|
ok = emqx_cm_locker:trans(<<"clientid">>, fun(_) -> ok end).
|
||||||
|
|
||||||
t_lock_unlocak(_) ->
|
t_lock_unlocak(_) ->
|
||||||
{true, _Nodes} = emqx_cm_locker:lock(<<"clientid">>),
|
{true, _} = emqx_cm_locker:lock(<<"clientid">>),
|
||||||
{true, _Nodes} = emqx_cm_locker:lock(<<"clientid">>),
|
{true, _} = emqx_cm_locker:lock(<<"clientid">>),
|
||||||
{true, _Nodes} = emqx_cm_locker:unlock(<<"clientid">>),
|
{true, _} = emqx_cm_locker:unlock(<<"clientid">>),
|
||||||
{true, _Nodes} = emqx_cm_locker:unlock(<<"clientid">>).
|
{true, _} = emqx_cm_locker:unlock(<<"clientid">>).
|
||||||
|
|
|
@ -121,7 +121,7 @@ t_priority_mqueue(_) ->
|
||||||
?assertEqual(5, ?Q:len(Q5)),
|
?assertEqual(5, ?Q:len(Q5)),
|
||||||
{_, Q6} = ?Q:in(#message{qos = 1, topic = <<"t2">>}, Q5),
|
{_, Q6} = ?Q:in(#message{qos = 1, topic = <<"t2">>}, Q5),
|
||||||
?assertEqual(5, ?Q:len(Q6)),
|
?assertEqual(5, ?Q:len(Q6)),
|
||||||
{{value, Msg}, Q7} = ?Q:out(Q6),
|
{{value, _Msg}, Q7} = ?Q:out(Q6),
|
||||||
?assertEqual(4, ?Q:len(Q7)).
|
?assertEqual(4, ?Q:len(Q7)).
|
||||||
|
|
||||||
t_priority_mqueue_conservation(_) ->
|
t_priority_mqueue_conservation(_) ->
|
||||||
|
|
|
@ -110,9 +110,9 @@ t_no_connection_nack(_) ->
|
||||||
|
|
||||||
ExpProp = [{properties, #{'Session-Expiry-Interval' => timer:seconds(30)}}],
|
ExpProp = [{properties, #{'Session-Expiry-Interval' => timer:seconds(30)}}],
|
||||||
{ok, SubConnPid1} = emqtt:start_link([{clientid, Subscriber1}] ++ ExpProp),
|
{ok, SubConnPid1} = emqtt:start_link([{clientid, Subscriber1}] ++ ExpProp),
|
||||||
{ok, _Props} = emqtt:connect(SubConnPid1),
|
{ok, _} = emqtt:connect(SubConnPid1),
|
||||||
{ok, SubConnPid2} = emqtt:start_link([{clientid, Subscriber2}] ++ ExpProp),
|
{ok, SubConnPid2} = emqtt:start_link([{clientid, Subscriber2}] ++ ExpProp),
|
||||||
{ok, _Props} = emqtt:connect(SubConnPid2),
|
{ok, _} = emqtt:connect(SubConnPid2),
|
||||||
emqtt:subscribe(SubConnPid1, ShareTopic, QoS),
|
emqtt:subscribe(SubConnPid1, ShareTopic, QoS),
|
||||||
emqtt:subscribe(SubConnPid1, ShareTopic, QoS),
|
emqtt:subscribe(SubConnPid1, ShareTopic, QoS),
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue