diff --git a/apps/emqx/src/emqx_channel.erl b/apps/emqx/src/emqx_channel.erl index 53cac2400..d5941c8e9 100644 --- a/apps/emqx/src/emqx_channel.erl +++ b/apps/emqx/src/emqx_channel.erl @@ -1049,7 +1049,7 @@ handle_out(disconnect, {ReasonCode, ReasonName}, Channel) -> handle_out(disconnect, {ReasonCode, ReasonName, #{}}, Channel); handle_out(disconnect, {ReasonCode, ReasonName, Props}, Channel = ?IS_MQTT_V5) -> Packet = ?DISCONNECT_PACKET(ReasonCode, Props), - {ok, [?REPLY_OUTGOING(Packet), {close, ReasonName}], Channel}; + {ok, [?REPLY_OUTGOING(Packet), ?REPLY_CLOSE(ReasonName)], Channel}; handle_out(disconnect, {_ReasonCode, ReasonName, _Props}, Channel) -> {ok, {close, ReasonName}, Channel}; handle_out(auth, {ReasonCode, Properties}, Channel) -> diff --git a/apps/emqx_ft/src/emqx_ft_app.erl b/apps/emqx_ft/src/emqx_ft_app.erl index 114b4bff3..43a4cc816 100644 --- a/apps/emqx_ft/src/emqx_ft_app.erl +++ b/apps/emqx_ft/src/emqx_ft_app.erl @@ -22,7 +22,6 @@ start(_StartType, _StartArgs) -> {ok, Sup} = emqx_ft_sup:start_link(), - ok = emqx_ft_async_reply:create_tables(), ok = emqx_ft_conf:load(), {ok, Sup}. diff --git a/apps/emqx_ft/src/emqx_ft_async_reply.erl b/apps/emqx_ft/src/emqx_ft_async_reply.erl index 7ac4c527f..501f91629 100644 --- a/apps/emqx_ft/src/emqx_ft_async_reply.erl +++ b/apps/emqx_ft/src/emqx_ft_async_reply.erl @@ -62,8 +62,8 @@ create_tables() -> {read_concurrency, true}, {write_concurrency, true} ], - _ = ets:new(?MON_TAB, EtsOptions), - _ = ets:new(?PACKET_TAB, EtsOptions), + ok = emqx_utils_ets:new(?MON_TAB, EtsOptions), + ok = emqx_utils_ets:new(?PACKET_TAB, EtsOptions), ok. -spec register(packet_id(), mon_ref(), timer_ref()) -> ok. diff --git a/apps/emqx_ft/src/emqx_ft_sup.erl b/apps/emqx_ft/src/emqx_ft_sup.erl index 512d534c3..6d3936cf6 100644 --- a/apps/emqx_ft/src/emqx_ft_sup.erl +++ b/apps/emqx_ft/src/emqx_ft_sup.erl @@ -28,6 +28,8 @@ start_link() -> supervisor:start_link({local, ?SERVER}, ?MODULE, []). init([]) -> + ok = emqx_ft_async_reply:create_tables(), + SupFlags = #{ strategy => one_for_one, intensity => 100,