[ https://issues.apache.org/jira/browse/KAFKA-7385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16665315#comment-16665315 ]
Henning Spjelkavik commented on KAFKA-7385: -------------------------------------------- We encountered this problem, but did not find this issue immediately. I'm including the exception and error message for easier discovery for future readers. The exact error message we saw was: {{Caught segment overflow error during cleaning: Detected offset overflow at offset -1 in segment LogSegment(baseOffset=211750969, size=278) (kafka.log.LogCleaner)}} {{Error due to (kafka.log.LogCleaner)}} {{java.lang.IllegalArgumentException: requirement failed: Split operation is only permitted for segments with overflow}} It was solved by running 2.0.1. > Log cleaner crashes when empty batches are retained with idempotent or > transactional producers > ---------------------------------------------------------------------------------------------- > > Key: KAFKA-7385 > URL: https://issues.apache.org/jira/browse/KAFKA-7385 > Project: Kafka > Issue Type: Bug > Reporter: Dhruvil Shah > Assignee: Dhruvil Shah > Priority: Major > Fix For: 2.0.1 > > > During log compaction, we retain an empty header if the batch contains the > last sequence number for a particular producer. When such headers are the > only messages retained, we do not update state such as `maxOffset` in > `MemoryRecords#filterTo` causing us to append these into the cleaned segment > with `largestOffset` = -1. This throws a `LogSegmentOffsetOverflowException` > for a segment that does not actually have an overflow. When we attempt to > split the segment, the log cleaner dies. -- This message was sent by Atlassian JIRA (v7.6.3#76005)