diff --git a/apps/emqx/src/emqx_packet.erl b/apps/emqx/src/emqx_packet.erl index e3e2229d9..1f7aaa4c9 100644 --- a/apps/emqx/src/emqx_packet.erl +++ b/apps/emqx/src/emqx_packet.erl @@ -620,13 +620,13 @@ format_payload(Payload, hex) when ?MAX_PAYLOAD_FORMAT_LIMIT(Payload) -> ["Payload(hex)=", binary:encode_hex(Payload)]; format_payload(_, hidden) -> "Payload=******"; -format_payload(<> = Payload, _) -> +format_payload(<> = Payload, _) -> [ "Payload=", Part, - "...The ", - integer_to_list(byte_size(Payload) - ?MAX_PAYLOAD_FORMAT_SIZE), - "bytes of this log are truncated" + "... The ", + integer_to_list(byte_size(Payload) - 100), + " bytes of this log are truncated" ]. i(true) -> 1; diff --git a/apps/emqx/src/emqx_trace/emqx_trace_formatter.erl b/apps/emqx/src/emqx_trace/emqx_trace_formatter.erl index 843b502d5..42623e91a 100644 --- a/apps/emqx/src/emqx_trace/emqx_trace_formatter.erl +++ b/apps/emqx/src/emqx_trace/emqx_trace_formatter.erl @@ -76,12 +76,12 @@ format_payload(_, hidden) -> format_payload(Payload, text) when ?MAX_PAYLOAD_FORMAT_LIMIT(Payload) -> unicode:characters_to_list(Payload); format_payload(Payload, hex) when ?MAX_PAYLOAD_FORMAT_LIMIT(Payload) -> binary:encode_hex(Payload); -format_payload(<> = Payload, _) -> +format_payload(<> = Payload, _) -> [ Part, - "...The ", - integer_to_list(byte_size(Payload) - ?MAX_PAYLOAD_FORMAT_SIZE), - "bytes of this log are truncated" + "... The ", + integer_to_list(byte_size(Payload) - 100), + " bytes of this log are truncated" ]. to_iolist(Atom) when is_atom(Atom) -> atom_to_list(Atom); diff --git a/changes/ce/fix-11279.en.md b/changes/ce/fix-11279.en.md new file mode 100644 index 000000000..9f56bf543 --- /dev/null +++ b/changes/ce/fix-11279.en.md @@ -0,0 +1 @@ +Prevent client disconnected when sending large payloads with debug/trace logging is enabled.