From b902ff365618db318eec5f1f9ad2b7ffc4b04e9f Mon Sep 17 00:00:00 2001 From: turtleDeng Date: Fri, 15 Mar 2019 10:30:14 +0800 Subject: [PATCH 1/2] Update gen_rpc to v2.3.1 (#2315) Update gen_rpc to v2.3.1 --- Makefile | 2 +- rebar.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index fe94d309d..b7763e604 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ DEPS = jsx gproc gen_rpc ekka esockd cowboy replayq dep_jsx = hex-emqx 2.9.0 dep_gproc = hex-emqx 0.8.0 -dep_gen_rpc = git-emqx https://github.com/emqx/gen_rpc 2.3.0 +dep_gen_rpc = git-emqx https://github.com/emqx/gen_rpc 2.3.1 dep_esockd = git-emqx https://github.com/emqx/esockd v5.4.4 dep_ekka = git-emqx https://github.com/emqx/ekka v0.5.3 dep_cowboy = hex-emqx 2.4.0 diff --git a/rebar.config b/rebar.config index 6fefc5bfb..2e16b86b9 100644 --- a/rebar.config +++ b/rebar.config @@ -6,7 +6,7 @@ %% appended to deps in rebar.config.script {github_emqx_deps, - [{gen_rpc, "2.3.0"}, + [{gen_rpc, "2.3.1"}, {ekka, "v0.5.3"}, {replayq, "v0.1.1"}, {esockd, "v5.4.4"}, From f2df92fef279d60196976d3584ec174e2be2314f Mon Sep 17 00:00:00 2001 From: spring2maz <40776645+spring2maz@users.noreply.github.com> Date: Fri, 15 Mar 2019 10:11:24 +0100 Subject: [PATCH 2/2] Unload emqx_alarm_handler before unloading plugins when shuting down (#2316) emqx_alarm_handler publishes mqtt messages, having it running while plugins are shutdown triggered some annoying crashes --- src/emqx.erl | 1 + src/emqx_alarm_handler.erl | 5 +++++ src/emqx_app.erl | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/emqx.erl b/src/emqx.erl index 623bb3bd9..88be94cca 100644 --- a/src/emqx.erl +++ b/src/emqx.erl @@ -159,6 +159,7 @@ shutdown() -> shutdown(Reason) -> emqx_logger:error("emqx shutdown for ~s", [Reason]), + emqx_alarm_handler:unload(), emqx_plugins:unload(), lists:foreach(fun application:stop/1, [emqx, ekka, cowboy, ranch, esockd, gproc]). diff --git a/src/emqx_alarm_handler.erl b/src/emqx_alarm_handler.erl index 8a9260ab9..cb65c1338 100644 --- a/src/emqx_alarm_handler.erl +++ b/src/emqx_alarm_handler.erl @@ -32,6 +32,7 @@ terminate/2]). -export([load/0, + unload/0, get_alarms/0]). -record(common_alarm, {id, desc}). @@ -68,6 +69,10 @@ mnesia(copy) -> load() -> gen_event:swap_handler(alarm_handler, {alarm_handler, swap}, {?MODULE, []}). +%% on the way shutting down, give it back to OTP +unload() -> + gen_event:swap_handler(alarm_handler, {?MODULE, swap}, {alarm_handler, []}). + get_alarms() -> gen_event:call(alarm_handler, ?MODULE, get_alarms). diff --git a/src/emqx_app.erl b/src/emqx_app.erl index e1583e128..e7bcca398 100644 --- a/src/emqx_app.erl +++ b/src/emqx_app.erl @@ -43,7 +43,7 @@ start(_Type, _Args) -> emqx_alarm_handler:load(), emqx_logger_handler:init(), - + print_vsn(), {ok, Sup}.