[
https://issues.apache.org/jira/browse/KAFKA-13953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17569104#comment-17569104
]
Doguscan Namal commented on KAFKA-13953:
----------------------------------------
[~junrao]
1) The DumpLogSegment tool fails to output the data because it is corrupted.
But here is the batch level info:
baseOffset: 88062356025 lastOffset: 88062429966 count: 73942 baseSequence:
39997558 lastSequence: 40071499 producerId: 100002 producerEpoch: 0
partitionLeaderEpoch: 70 isTransactional: false isControl: false position:
86385503 CreateTime: 1656027642522 size: 2543176 magic: 2 compresscodec: ZSTD
crc: 2665675442 isvalid: true
One more point is that, actually consumer does not receive
CorruptRecordException. Broker actually doesn't give anything back to the
consumer at all.
The upstream message comes from a 2.8.1 KafkaCluster and data is read by a
MirrorMaker 2.5.1 and written to a 2.5.1 cluster. Only one of the "sink"
clusters ends up with the corrupted data.
2) DumpLogSegment is failing to provide record level information because there
is a corrupted record. However, I am able to read all of the records up to the
corrupted one, with negative size.
So here is the structure of the log file:
So all the batches are valid up to the one which contains the corrupted batch.
All records in the corrupted batch is valid, until the one which is corrupted.
readVarint() return -155493822 from the bytestream.
```
batch0
| record 0
| record 1
| ...
batch1
| record 0
| record 1
| ...
...
batchX
| record 0
| record 1
| record n
| bytes (-155493822) bytes (recordStart:0 attributes: 0 timestampDelta: 391
timestamp 1656027641475 offset: 88062375700 sequence:40017233 key:
java.nio.HeapByteBuffer[pos=0 lim=25 cap=1199] value:
java.nio.HeapByteBuffer[pos=0 lim=961 cap=1149] numHeaders: 5) ...
... NOT REACHABLE POSSIBLY NOT CORRPUTED BUT NO WAY TO VERIFY...
batchNOTReachable
| record...
| record...
```
Given that crc check is valid, any idea on the next steps in debugging?
> kafka Console consumer fails with CorruptRecordException
> ---------------------------------------------------------
>
> Key: KAFKA-13953
> URL: https://issues.apache.org/jira/browse/KAFKA-13953
> Project: Kafka
> Issue Type: Bug
> Components: consumer, controller, core
> Affects Versions: 2.7.0
> Reporter: Aldan Brito
> Priority: Blocker
>
> Kafka consumer fails with corrupt record exception.
> {code:java}
> opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server *.*.*.*:<port>
> --topic BQR-PULL-DEFAULT --from-beginning >
> /opt/nokia/kafka-zookeeper-clustering/kafka/topic-data/tmpsdh/dumptest
> [{*}2022-05-15 18:34:15,146]{*} ERROR Error processing message, terminating
> consumer process: (kafka.tools.ConsoleConsumer$)
> org.apache.kafka.common.KafkaException: Received exception when fetching the
> next record from BQR-PULL-DEFAULT-30. If needed, please seek past the record
> to continue consumption.
> at
> org.apache.kafka.clients.consumer.internals.Fetcher$CompletedFetch.fetchRecords(Fetcher.java:1577)
> at
> org.apache.kafka.clients.consumer.internals.Fetcher$CompletedFetch.access$1700(Fetcher.java:1432)
> at
> org.apache.kafka.clients.consumer.internals.Fetcher.fetchRecords(Fetcher.java:684)
> at
> org.apache.kafka.clients.consumer.internals.Fetcher.fetchedRecords(Fetcher.java:635)
> at
> org.apache.kafka.clients.consumer.KafkaConsumer.pollForFetches(KafkaConsumer.java:1276)
> at
> org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1237)
> at
> org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1210)
> at
> kafka.tools.ConsoleConsumer$ConsumerWrapper.receive(ConsoleConsumer.scala:438)
> at kafka.tools.ConsoleConsumer$.process(ConsoleConsumer.scala:104)
> at kafka.tools.ConsoleConsumer$.run(ConsoleConsumer.scala:78)
> at kafka.tools.ConsoleConsumer$.main(ConsoleConsumer.scala:55)
> at kafka.tools.ConsoleConsumer.main(ConsoleConsumer.scala)
> Caused by: org.apache.kafka.common.errors.CorruptRecordException: Record size
> 0 is less than the minimum record overhead (14)
> Processed a total of 15765197 messages {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)