From 684e46c45da3d0b40ba9a38d73227f1c42096c5b Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Fri, 23 Jul 2021 13:42:59 +0800 Subject: [PATCH] refactor(config): change mqtt.await_rel_timeout to ms --- apps/emqx/src/emqx_channel.erl | 2 +- apps/emqx/src/emqx_schema.erl | 2 +- apps/emqx/src/emqx_session.erl | 4 ++-- apps/emqx/test/emqx_channel_SUITE.erl | 2 +- apps/emqx/test/emqx_session_SUITE.erl | 6 +++--- apps/emqx_gateway/src/mqttsn/emqx_sn_channel.erl | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/emqx/src/emqx_channel.erl b/apps/emqx/src/emqx_channel.erl index ea35f59ec..d4c020185 100644 --- a/apps/emqx/src/emqx_channel.erl +++ b/apps/emqx/src/emqx_channel.erl @@ -1116,7 +1116,7 @@ interval(alive_timer, #channel{keepalive = KeepAlive}) -> interval(retry_timer, #channel{session = Session}) -> emqx_session:info(retry_interval, Session); interval(await_timer, #channel{session = Session}) -> - timer:seconds(emqx_session:info(await_rel_timeout, Session)); + emqx_session:info(await_rel_timeout, Session); interval(expire_timer, #channel{conninfo = ConnInfo}) -> timer:seconds(maps:get(expiry_interval, ConnInfo)); interval(will_timer, #channel{will_msg = WillMsg}) -> diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index 1656aa529..12f3f0b06 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -290,7 +290,7 @@ fields("mqtt") -> , {"max_inflight", t(range(1, 65535), undefined, 32)} , {"retry_interval", t(duration(), undefined, "30s")} , {"max_awaiting_rel", maybe_infinity(integer(), 100)} - , {"await_rel_timeout", t(duration_s(), undefined, "300s")} + , {"await_rel_timeout", t(duration(), undefined, "300s")} , {"session_expiry_interval", t(duration_s(), undefined, "2h")} , {"max_mqueue_len", maybe_infinity(range(0, inf), 1000)} , {"mqueue_priorities", maybe_disabled(map())} diff --git a/apps/emqx/src/emqx_session.erl b/apps/emqx/src/emqx_session.erl index 41dbc639f..3e0f56610 100644 --- a/apps/emqx/src/emqx_session.erl +++ b/apps/emqx/src/emqx_session.erl @@ -181,7 +181,7 @@ init(Opts) -> retry_interval = maps:get(retry_interval, Opts, 30000), awaiting_rel = #{}, max_awaiting_rel = maps:get(max_awaiting_rel, Opts, 100), - await_rel_timeout = timer:seconds(maps:get(await_rel_timeout, Opts, 300)), + await_rel_timeout = maps:get(await_rel_timeout, Opts, 300000), created_at = erlang:system_time(millisecond) }. @@ -229,7 +229,7 @@ info(awaiting_rel_cnt, #session{awaiting_rel = AwaitingRel}) -> info(awaiting_rel_max, #session{max_awaiting_rel = Max}) -> Max; info(await_rel_timeout, #session{await_rel_timeout = Timeout}) -> - Timeout div 1000; + Timeout; info(created_at, #session{created_at = CreatedAt}) -> CreatedAt. diff --git a/apps/emqx/test/emqx_channel_SUITE.erl b/apps/emqx/test/emqx_channel_SUITE.erl index 910c80993..1c4bf8f76 100644 --- a/apps/emqx/test/emqx_channel_SUITE.erl +++ b/apps/emqx/test/emqx_channel_SUITE.erl @@ -28,7 +28,7 @@ all() -> emqx_ct:all(?MODULE). mqtt_conf() -> - #{await_rel_timeout => 300, + #{await_rel_timeout => 300000, idle_timeout => 15000, ignore_loop_deliver => false, keepalive_backoff => 0.75, diff --git a/apps/emqx/test/emqx_session_SUITE.erl b/apps/emqx/test/emqx_session_SUITE.erl index 852a92af0..1aa5b0196 100644 --- a/apps/emqx/test/emqx_session_SUITE.erl +++ b/apps/emqx/test/emqx_session_SUITE.erl @@ -63,7 +63,7 @@ t_session_init(_) -> ?assertEqual(0, emqx_mqueue:len(emqx_session:info(mqueue, Session))), ?assertEqual(0, emqx_session:info(awaiting_rel_cnt, Session)), ?assertEqual(100, emqx_session:info(awaiting_rel_max, Session)), - ?assertEqual(300, emqx_session:info(await_rel_timeout, Session)), + ?assertEqual(300000, emqx_session:info(await_rel_timeout, Session)), ?assert(is_integer(emqx_session:info(created_at, Session))). %%-------------------------------------------------------------------- @@ -74,7 +74,7 @@ t_session_info(_) -> ?assertMatch(#{subscriptions := #{}, upgrade_qos := false, retry_interval := 30000, - await_rel_timeout := 300 + await_rel_timeout := 300000 }, emqx_session:info(session())). t_session_stats(_) -> @@ -344,7 +344,7 @@ t_replay(_) -> t_expire_awaiting_rel(_) -> {ok, Session} = emqx_session:expire(awaiting_rel, session()), - Timeout = emqx_session:info(await_rel_timeout, Session) * 1000, + Timeout = emqx_session:info(await_rel_timeout, Session), Session1 = emqx_session:set_field(awaiting_rel, #{1 => Ts = ts(millisecond)}, Session), {ok, Timeout, Session2} = emqx_session:expire(awaiting_rel, Session1), ?assertEqual(#{1 => Ts}, emqx_session:info(awaiting_rel, Session2)). diff --git a/apps/emqx_gateway/src/mqttsn/emqx_sn_channel.erl b/apps/emqx_gateway/src/mqttsn/emqx_sn_channel.erl index 68c481718..0ebbc5195 100644 --- a/apps/emqx_gateway/src/mqttsn/emqx_sn_channel.erl +++ b/apps/emqx_gateway/src/mqttsn/emqx_sn_channel.erl @@ -1393,7 +1393,7 @@ interval(alive_timer, #channel{keepalive = KeepAlive}) -> interval(retry_timer, #channel{session = Session}) -> emqx_session:info(retry_interval, Session); interval(await_timer, #channel{session = Session}) -> - timer:seconds(emqx_session:info(await_rel_timeout, Session)). + emqx_session:info(await_rel_timeout, Session). %%-------------------------------------------------------------------- %% Helper functions