From decfd6df2be268bd9fe8755211a6e3d734ad31ca Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Wed, 21 Jun 2023 11:10:48 -0300 Subject: [PATCH 1/2] feat(buffer_worker): log expired message count Fixes https://emqx.atlassian.net/browse/EMQX-10165 ``` iex(emqx@127.0.0.1)38> 2023-06-21T11:09:35.569404-03:00 [info] msg: buffer_worker_dropped_expired_messages, mfa: emqx_resource_buffer_worker:log_expired_messge_count/1, line: 982, expired_count: 900, resource_id: <<"bridge:webhook:webhook">>, worker_index: 3 ``` --- .../src/emqx_resource_buffer_worker.erl | 17 +++++++++++++++++ changes/ce/feat-11115.en.md | 1 + 2 files changed, 18 insertions(+) create mode 100644 changes/ce/feat-11115.en.md diff --git a/apps/emqx_resource/src/emqx_resource_buffer_worker.erl b/apps/emqx_resource/src/emqx_resource_buffer_worker.erl index 7a0bcaea9..76566ce47 100644 --- a/apps/emqx_resource/src/emqx_resource_buffer_worker.erl +++ b/apps/emqx_resource/src/emqx_resource_buffer_worker.erl @@ -927,6 +927,7 @@ merge_counters(OldCounters, DeltaCounters) -> flush_metrics(Data = #{id := Id, counters := Counters}) -> bump_counters(Id, Counters), set_gauges(Data), + log_expired_message_count(Data), ensure_metrics_flush_timer(Data#{counters := #{}}). -spec ensure_metrics_flush_timer(data()) -> data(). @@ -966,6 +967,22 @@ do_bump_counters1(dropped_resource_not_found, Val, Id) -> do_bump_counters1(dropped_resource_stopped, Val, Id) -> emqx_resource_metrics:dropped_resource_stopped_inc(Id, Val). +-spec log_expired_message_count(data()) -> ok. +log_expired_message_count(_Data = #{id := Id, index := Index, counters := Counters}) -> + ExpiredCount = maps:get(dropped_expired, Counters, 0), + case ExpiredCount > 0 of + false -> + ok; + true -> + ?SLOG(info, #{ + msg => "buffer_worker_dropped_expired_messages", + resource_id => Id, + worker_index => Index, + expired_count => ExpiredCount + }), + ok + end. + -spec set_gauges(data()) -> ok. set_gauges(_Data = #{id := Id, index := Index, queue := Q, inflight_tid := InflightTID}) -> emqx_resource_metrics:queuing_set(Id, Index, queue_count(Q)), diff --git a/changes/ce/feat-11115.en.md b/changes/ce/feat-11115.en.md new file mode 100644 index 000000000..8030926cf --- /dev/null +++ b/changes/ce/feat-11115.en.md @@ -0,0 +1 @@ +Added info logs to indicate when buffered messages are dropped due to time-to-live (TTL) expiration. From 7eb38898dceb02dd0713fbcef71fe287a5d15237 Mon Sep 17 00:00:00 2001 From: Thales Macedo Garitezi Date: Wed, 21 Jun 2023 10:35:40 -0300 Subject: [PATCH 2/2] ci: pin ssl_verify_fun in mix.exs --- mix.exs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index 776c32d71..f74c47842 100644 --- a/mix.exs +++ b/mix.exs @@ -95,7 +95,9 @@ defmodule EMQXUmbrella.MixProject do github: "emqx/ranch", ref: "de8ba2a00817c0a6eb1b8f20d6fb3e44e2c9a5aa", override: true}, # in conflict by grpc and eetcd {:gpb, "4.19.7", override: true, runtime: false}, - {:hackney, github: "emqx/hackney", tag: "1.18.1-1", override: true} + {:hackney, github: "emqx/hackney", tag: "1.18.1-1", override: true}, + # set by hackney (dependency) + {:ssl_verify_fun, "1.1.6", override: true} ] ++ emqx_apps(profile_info, version) ++ enterprise_deps(profile_info) ++ bcrypt_dep() ++ jq_dep() ++ quicer_dep()