[ 
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)

Reply via email to