Procházet zdrojové kódy

Merge pull request #12820 from SergeTupchiy/EMQX-12124-fix-msgs-api-client-shutdown-followup-fix

fix(emqx_mgmt): do not attempt to get a stacktrace of a remote process
SergeTupchiy před 2 roky
rodič
revize
ed97a7c08e
1 změnil soubory, kde provedl 15 přidání a 10 odebrání
  1. 15 10
      apps/emqx_management/src/emqx_mgmt.erl

+ 15 - 10
apps/emqx_management/src/emqx_mgmt.erl

@@ -715,15 +715,20 @@ call_conn(ConnMod, Pid, Req) ->
         exit:{{shutdown, _OOMInfo}, _Location} ->
             {error, shutdown};
         exit:timeout ->
-            ?SLOG(
-                warning,
-                #{
-                    msg => "call_client_connection_process_timeout",
-                    request => Req,
-                    pid => Pid,
-                    module => ConnMod,
-                    stacktrace => erlang:process_info(Pid, current_stacktrace)
-                }
-            ),
+            LogData = #{
+                msg => "call_client_connection_process_timeout",
+                request => Req,
+                pid => Pid,
+                module => ConnMod
+            },
+            LogData1 =
+                case node(Pid) =:= node() of
+                    true ->
+                        LogData#{stacktrace => erlang:process_info(Pid, current_stacktrace)};
+                    false ->
+                        LogData
+                end,
+
+            ?SLOG(warning, LogData1),
             {error, timeout}
     end.