Просмотр исходного кода

fix(message transformation): unregister hook before unloading to avoid log noise when restarting to join cluster

Ex:

```
2024-11-04T17:39:34.650139+00:00 [error] msg: failed_to_execute, reason: badarg, stacktrace: [{ets,next,[emqx_message_transformation_index,{[<<"$SYS">>],{}}],[{error_info,#{cause => id,module => erl_stdlib_errors}}]},{emqx_topic_index,'-make_nextf/1-fun-0-',2,[{file,"emqx_topic_index.erl"},{line,109}]},{emqx_trie_search,search_new,4,[{file,"emqx_trie_search.erl"},{line,167}]},{emqx_trie_search,search,3,[{file,"emqx_trie_search.erl"},{line,213}]},{emqx_message_transformation_registry,matching_transformations,1,[{file,"emqx_message_transformation_registry.erl"},{line,117}]},{emqx_message_transformation,on_message_publish,1,[{file,"emqx_message_transformation.erl"},{line,137}]},{emqx_hooks,safe_execute,2,[{file,"emqx_hooks.erl"},{line,205}]},{emqx_hooks,do_run_fold,3,[{file,"emqx_hooks.erl"},{line,185}]},{emqx_broker,eval_hook_and_publish,2,[{file,"src/emqx_broker.erl"},{line,261}]},{emqx_broker,safe_publish,2,[{file,"src/emqx_broker.erl"},{line,318}]},{emqx_alarm,do_actions,3,[{file,"emqx_alarm.erl"},{line,435}]},{emqx_alarm,handle_call,3,[{file,"emqx_alarm.erl"},{line,238}]},{gen_server,try_handle_call,4,[{file,"gen_server.erl"},{line,1131}]},{gen_server,handle_msg,6,[{file,"gen_server.erl"},{line,1160}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,241}]}], exception: error, failed_call: {emqx_message_transformation,on_message_publish,[{message,<<0,6,38,25,196,152,205,9,10,63,0,0,17,172,0,7>>,0,emqx_alarm,#{sys => true},#{properties => #{'Content-Type' => <<"application/json">>}},<<"$SYS/brokers/emqx@emqxtmp1.emqx.net/alarms/deactivate">>,<<"{\"deactivate_at\":1730741974649918,\"activate_at\":1730741973812216,\"activated\":false,\"details\":\"no_details\",\"name\":\"action:snowflake:a:connector:snowflake:a\",\"message\":\"<<\\\"action:snowflake:a:connector:snowflake:a\\\">>\"}">>,1730741974650,#{}}]}
```
Thales Macedo Garitezi 1 год назад
Родитель
Сommit
63e1b012e8

+ 1 - 1
apps/emqx_message_transformation/src/emqx_message_transformation.app.src

@@ -1,6 +1,6 @@
 {application, emqx_message_transformation, [
     {description, "EMQX Message Transformation"},
-    {vsn, "0.1.3"},
+    {vsn, "0.1.4"},
     {registered, [emqx_message_transformation_sup, emqx_message_transformation_registry]},
     {mod, {emqx_message_transformation_app, []}},
     {applications, [

+ 2 - 2
apps/emqx_message_transformation/src/emqx_message_transformation_app.erl

@@ -21,14 +21,14 @@ start(_Type, _Args) ->
     {ok, Sup} = emqx_message_transformation_sup:start_link(),
     ok = emqx_variform:inject_allowed_module(emqx_message_transformation_bif),
     ok = emqx_message_transformation_config:add_handler(),
-    ok = emqx_message_transformation:register_hooks(),
     ok = emqx_message_transformation_config:load(),
+    ok = emqx_message_transformation:register_hooks(),
     {ok, Sup}.
 
 -spec stop(term()) -> ok.
 stop(_State) ->
-    ok = emqx_message_transformation_config:unload(),
     ok = emqx_message_transformation:unregister_hooks(),
+    ok = emqx_message_transformation_config:unload(),
     ok = emqx_message_transformation_config:remove_handler(),
     ok = emqx_variform:erase_allowed_module(emqx_message_transformation_bif),
     ok.