fix(emqx_app): stop listeners in application prep_stop callback
Application:stop is call after the root supervisor is stopped, in our case, prior to this fix, emqx_sup is stopped before the listeners (hence the emqx_connection processes). This causes shutdown to emit a lot of error logs e.g. emqx_broker pool is down, but emqx_connection process is still trying to call the pool
This commit is contained in:
parent
fee3462603
commit
dd23ee6b15
|
@ -19,6 +19,7 @@
|
|||
-behaviour(application).
|
||||
|
||||
-export([ start/2
|
||||
, prep_stop/1
|
||||
, stop/1
|
||||
, get_description/0
|
||||
, get_release/0
|
||||
|
@ -50,12 +51,14 @@ start(_Type, _Args) ->
|
|||
print_vsn(),
|
||||
{ok, Sup}.
|
||||
|
||||
-spec(stop(State :: term()) -> term()).
|
||||
stop(_State) ->
|
||||
prep_stop(_State) ->
|
||||
ok = emqx_alarm_handler:unload(),
|
||||
emqx_boot:is_enabled(listeners)
|
||||
andalso emqx_listeners:stop().
|
||||
|
||||
stop(_State) ->
|
||||
ok.
|
||||
|
||||
set_backtrace_depth() ->
|
||||
Depth = application:get_env(?APP, backtrace_depth, 16),
|
||||
_ = erlang:system_flag(backtrace_depth, Depth),
|
||||
|
|
Loading…
Reference in New Issue