From abc0a3526e185aa6200ae828e976238503518d71 Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Wed, 26 Jan 2022 18:27:15 +0800 Subject: [PATCH] fix(keepalive): keepalive init with right recv_oct --- apps/emqx/etc/emqx.conf | 3 --- apps/emqx/src/emqx_keepalive.erl | 2 +- apps/emqx/src/emqx_schema.erl | 5 +---- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/apps/emqx/etc/emqx.conf b/apps/emqx/etc/emqx.conf index 2dc213b75..de4e6fb3c 100644 --- a/apps/emqx/etc/emqx.conf +++ b/apps/emqx/etc/emqx.conf @@ -649,9 +649,6 @@ mqtt { ## The backoff for MQTT keepalive timeout. The broker will kick a connection out ## until 'Keepalive * backoff * 2' timeout. - ## There is one exception: - ## If the client connects successfully and then does not send any more packets, - ## it will be kicked out until 'Keepalive * backoff * 3'. ## ## @doc mqtt.keepalive_backoff ## ValueType: Float diff --git a/apps/emqx/src/emqx_keepalive.erl b/apps/emqx/src/emqx_keepalive.erl index 4a589dc61..0f7e340cb 100644 --- a/apps/emqx/src/emqx_keepalive.erl +++ b/apps/emqx/src/emqx_keepalive.erl @@ -39,7 +39,7 @@ -spec(init(Interval :: non_neg_integer()) -> keepalive()). init(Interval) when Interval > 0 -> #keepalive{interval = Interval, - statval = 0, + statval = emqx_pd:get_counter(incoming_bytes), repeat = 0}. %% @doc Get Info of the keepalive. diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index 2cda55aff..c6d32c05e 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -364,10 +364,7 @@ This feature is disabled if is set to \"\".""" #{default => 0.75, desc => """The backoff for MQTT keepalive timeout. The broker will kick a connection out -until 'Keepalive * backoff * 2' timeout. -There is one exception: -If the client connects successfully and then does not send any more packets, -it will be kicked out until 'Keepalive * backoff * 3'.""" +until 'Keepalive * backoff * 2' timeout.""" }) } , {"max_subscriptions",