From 849dba571203a6cb1c55baa87bff93f26e231945 Mon Sep 17 00:00:00 2001 From: majialong Date: Fri, 15 May 2026 23:54:10 +0800 Subject: [PATCH] MINOR: Use NullNode instead of empty TextNode for missing request/response fields --- .../scala/unit/kafka/network/RequestConvertToJsonTest.scala | 6 +++--- .../java/org/apache/kafka/network/RequestConvertToJson.java | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/core/src/test/scala/unit/kafka/network/RequestConvertToJsonTest.scala b/core/src/test/scala/unit/kafka/network/RequestConvertToJsonTest.scala index a5566c869b355..bdb563590d942 100644 --- a/core/src/test/scala/unit/kafka/network/RequestConvertToJsonTest.scala +++ b/core/src/test/scala/unit/kafka/network/RequestConvertToJsonTest.scala @@ -19,7 +19,7 @@ package kafka.network import java.net.InetAddress import java.nio.ByteBuffer -import com.fasterxml.jackson.databind.node.{BooleanNode, DoubleNode, JsonNodeFactory, LongNode, ObjectNode, TextNode} +import com.fasterxml.jackson.databind.node.{BooleanNode, DoubleNode, JsonNodeFactory, LongNode, NullNode, ObjectNode, TextNode} import org.apache.kafka.common.memory.MemoryPool import org.apache.kafka.common.message._ import org.apache.kafka.common.network.{ClientInformation, ListenerName, NetworkSend} @@ -58,7 +58,7 @@ class RequestConvertToJsonTest { val expectedNode = new ObjectNode(JsonNodeFactory.instance) expectedNode.set("isForwarded", if (req.isForwarded) BooleanNode.TRUE else BooleanNode.FALSE) expectedNode.set("requestHeader", RequestConvertToJson.requestHeaderNode(req.header)) - expectedNode.set("request", req.requestLog.orElse(new TextNode(""))) + expectedNode.set("request", req.requestLog.orElse(NullNode.getInstance())) val actualNode = RequestConvertToJson.requestDesc(req.header, req.requestLog, req.isForwarded) @@ -84,7 +84,7 @@ class RequestConvertToJsonTest { val messageConversionsTimeMs = 9 val expectedNode = RequestConvertToJson.requestDesc(req.header, req.requestLog, req.isForwarded).asInstanceOf[ObjectNode] - expectedNode.set("response", res.responseLog.getOrElse(new TextNode(""))) + expectedNode.set("response", res.responseLog.getOrElse(NullNode.getInstance())) expectedNode.set("connection", new TextNode(req.context.connectionId)) expectedNode.set("totalTimeMs", new DoubleNode(totalTimeMs)) expectedNode.set("requestQueueTimeMs", new DoubleNode(requestQueueTimeMs)) diff --git a/server/src/main/java/org/apache/kafka/network/RequestConvertToJson.java b/server/src/main/java/org/apache/kafka/network/RequestConvertToJson.java index 9af49f27d66cb..09602ea498d5e 100644 --- a/server/src/main/java/org/apache/kafka/network/RequestConvertToJson.java +++ b/server/src/main/java/org/apache/kafka/network/RequestConvertToJson.java @@ -384,6 +384,7 @@ import com.fasterxml.jackson.databind.node.DoubleNode; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.LongNode; +import com.fasterxml.jackson.databind.node.NullNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.TextNode; @@ -766,7 +767,7 @@ public static JsonNode requestDesc(RequestHeader header, Optional requ ObjectNode node = JsonNodeFactory.instance.objectNode(); node.set("isForwarded", isForwarded ? BooleanNode.TRUE : BooleanNode.FALSE); node.set("requestHeader", requestHeaderNode(header)); - node.set("request", requestNode.orElse(new TextNode(""))); + node.set("request", requestNode.orElse(NullNode.getInstance())); return node; } @@ -784,7 +785,7 @@ public static JsonNode requestDescMetrics(RequestHeader header, Optional