Ver código fonte

refactor(config): change mqtt.await_rel_timeout to ms

Shawn 4 anos atrás
pai
commit
684e46c45d

+ 1 - 1
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}) ->

+ 1 - 1
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())}

+ 2 - 2
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.
 

+ 1 - 1
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,

+ 3 - 3
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)).

+ 1 - 1
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