Skip to content

Commit

Permalink
Merge pull request #10242 from zmstone/0326-fix-logging-avoid-using-p…
Browse files Browse the repository at this point in the history
…id-as-log-data-field

fix: avoid uisng 'pid' as log data field
  • Loading branch information
zmstone committed Mar 27, 2023
2 parents a2befda + acb9bcb commit 7a6494c
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 18 deletions.
14 changes: 7 additions & 7 deletions apps/emqx/src/emqx_cm.erl
Expand Up @@ -465,23 +465,23 @@ request_stepdown(Action, ConnMod, Pid) ->
catch
% emqx_ws_connection: call
_:noproc ->
ok = ?tp(debug, "session_already_gone", #{pid => Pid, action => Action}),
ok = ?tp(debug, "session_already_gone", #{stale_pid => Pid, action => Action}),
{error, noproc};
% emqx_connection: gen_server:call
_:{noproc, _} ->
ok = ?tp(debug, "session_already_gone", #{pid => Pid, action => Action}),
ok = ?tp(debug, "session_already_gone", #{stale_pid => Pid, action => Action}),
{error, noproc};
_:{shutdown, _} ->
ok = ?tp(debug, "session_already_shutdown", #{pid => Pid, action => Action}),
ok = ?tp(debug, "session_already_shutdown", #{stale_pid => Pid, action => Action}),
{error, noproc};
_:{{shutdown, _}, _} ->
ok = ?tp(debug, "session_already_shutdown", #{pid => Pid, action => Action}),
ok = ?tp(debug, "session_already_shutdown", #{stale_pid => Pid, action => Action}),
{error, noproc};
_:{timeout, {gen_server, call, _}} ->
?tp(
warning,
"session_stepdown_request_timeout",
#{pid => Pid, action => Action, stale_channel => stale_channel_info(Pid)}
#{stale_pid => Pid, action => Action, stale_channel => stale_channel_info(Pid)}
),
ok = force_kill(Pid),
{error, timeout};
Expand All @@ -490,7 +490,7 @@ request_stepdown(Action, ConnMod, Pid) ->
error,
"session_stepdown_request_exception",
#{
pid => Pid,
stale_pid => Pid,
action => Action,
reason => Error,
stacktrace => St,
Expand Down Expand Up @@ -671,7 +671,7 @@ handle_cast(Msg, State) ->
{noreply, State}.

handle_info({'DOWN', _MRef, process, Pid, _Reason}, State = #{chan_pmon := PMon}) ->
?tp(emqx_cm_process_down, #{pid => Pid, reason => _Reason}),
?tp(emqx_cm_process_down, #{stale_pid => Pid, reason => _Reason}),
ChanPids = [Pid | emqx_misc:drain_down(?BATCH_SIZE)],
{Items, PMon1} = emqx_pmon:erase_all(ChanPids, PMon),
lists:foreach(fun mark_channel_disconnected/1, ChanPids),
Expand Down
12 changes: 6 additions & 6 deletions apps/emqx_gateway/src/emqx_gateway_cm.erl
Expand Up @@ -587,24 +587,24 @@ request_stepdown(Action, ConnMod, Pid) ->
catch
% emqx_ws_connection: call
_:noproc ->
ok = ?tp(debug, "session_already_gone", #{pid => Pid, action => Action}),
ok = ?tp(debug, "session_already_gone", #{stale_pid => Pid, action => Action}),
{error, noproc};
% emqx_connection: gen_server:call
_:{noproc, _} ->
ok = ?tp(debug, "session_already_gone", #{pid => Pid, action => Action}),
ok = ?tp(debug, "session_already_gone", #{stale_pid => Pid, action => Action}),
{error, noproc};
_:Reason = {shutdown, _} ->
ok = ?tp(debug, "session_already_shutdown", #{pid => Pid, action => Action}),
ok = ?tp(debug, "session_already_shutdown", #{stale_pid => Pid, action => Action}),
{error, Reason};
_:Reason = {{shutdown, _}, _} ->
ok = ?tp(debug, "session_already_shutdown", #{pid => Pid, action => Action}),
ok = ?tp(debug, "session_already_shutdown", #{stale_pid => Pid, action => Action}),
{error, Reason};
_:{timeout, {gen_server, call, _}} ->
?tp(
warning,
"session_stepdown_request_timeout",
#{
pid => Pid,
stale_pid => Pid,
action => Action,
stale_channel => stale_channel_info(Pid)
}
Expand All @@ -616,7 +616,7 @@ request_stepdown(Action, ConnMod, Pid) ->
error,
"session_stepdown_request_exception",
#{
pid => Pid,
stale_pid => Pid,
action => Action,
reason => Error,
stacktrace => St,
Expand Down
2 changes: 2 additions & 0 deletions changes/ce/fix-10242.en.md
@@ -0,0 +1,2 @@
Fixed a log data field name clash.
Piror to this fix, some debug logs may report a wrong Erlang PID which may affect troubleshooting session takeover issues.
2 changes: 2 additions & 0 deletions changes/ce/fix-10242.zh.md
@@ -0,0 +1,2 @@
修复log数据字段名称冲突。
在这个修复之前,一些调试日志可能会报告一个错误的Erlang PID,这可能会影响会话接管问题的故障调查。
2 changes: 1 addition & 1 deletion lib-ee/emqx_license/src/emqx_license.app.src
@@ -1,6 +1,6 @@
{application, emqx_license, [
{description, "EMQX License"},
{vsn, "5.0.7"},
{vsn, "5.0.8"},
{modules, []},
{registered, [emqx_license_sup]},
{applications, [kernel, stdlib, emqx_ctl]},
Expand Down
6 changes: 3 additions & 3 deletions lib-ee/emqx_license/src/emqx_license_installer.erl
Expand Up @@ -74,13 +74,13 @@ ensure_timer(#{interval := Interval} = State) ->
check_pid(#{name := Name, pid := OldPid, callback := Callback} = State) ->
case whereis(Name) of
undefined ->
?tp(debug, emqx_license_installer_noproc, #{pid => OldPid}),
?tp(debug, emqx_license_installer_noproc, #{old_pid => OldPid}),
State;
OldPid ->
?tp(debug, emqx_license_installer_nochange, #{pid => OldPid}),
?tp(debug, emqx_license_installer_nochange, #{old_pid => OldPid}),
State;
NewPid ->
_ = Callback(),
?tp(debug, emqx_license_installer_called, #{pid => OldPid}),
?tp(debug, emqx_license_installer_called, #{old_pid => OldPid}),
State#{pid => NewPid}
end.
2 changes: 1 addition & 1 deletion scripts/apps-version-check.sh
Expand Up @@ -36,7 +36,7 @@ for app in ${APPS}; do
echo "IGNORE: $src_file is newly added"
true
elif [ "$old_app_version" = "$now_app_version" ]; then
changed_lines="$(git diff "$latest_release"...HEAD --ignore-blank-lines -G "$no_comment_re" \
changed_lines="$(git diff "$latest_release" --ignore-blank-lines -G "$no_comment_re" \
-- "$app_path/src" \
-- "$app_path/include" \
-- ":(exclude)"$app_path/src/*.appup.src"" \
Expand Down

0 comments on commit 7a6494c

Please sign in to comment.