Minoru Tomioka created KAFKA-15894: -------------------------------------- Summary: MessageConversionsTimeMs and TemporaryMemoryBytes may not be recorded correctly. Key: KAFKA-15894 URL: https://issues.apache.org/jira/browse/KAFKA-15894 Project: Kafka Issue Type: Bug Reporter: Minoru Tomioka Assignee: Minoru Tomioka
{{KafkaApis.updateRecordConversionStats}} may be called multiple times for a request, and {{request.messageConversionsTimeNanos}} and {{request.temporaryMemoryBytes}} are overwritten in this method. [https://github.com/apache/kafka/blob/95f41d59b389b6f25000b7bc4ddb948cfdb90448/core/src/main/scala/kafka/server/KafkaApis.scala#L3777-L3779] {code:java} private def updateRecordConversionStats(request: RequestChannel.Request, tp: TopicPartition, conversionStats: RecordValidationStats): Unit = { ... request.messageConversionsTimeNanos = conversionStats.conversionTimeNanos } request.temporaryMemoryBytes = conversionStats.temporaryMemoryBytes }{code} [https://github.com/apache/kafka/blob/95f41d59b389b6f25000b7bc4ddb948cfdb90448/core/src/main/scala/kafka/server/KafkaApis.scala#L706-L708] {code:java} def processingStatsCallback(processingStats: FetchResponseStats): Unit = { processingStats.forKeyValue { (tp, info) => updateRecordConversionStats(request, tp, info) } }{code} So, in this case, MessageConversionsTimeMs and TemporaryMemoryBytes may not be recorded correctly. -- This message was sent by Atlassian Jira (v8.20.10#820010)