[ https://issues.apache.org/jira/browse/KAFKA-7385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16607475#comment-16607475 ]
Apurva Mehta commented on KAFKA-7385: ------------------------------------- This is interesting. I would have expected this test [https://github.com/apache/kafka/blob/trunk/tests/kafkatest/tests/core/reassign_partitions_test.py#L105] to have reproduced this error. I guess the problem is that we don't check whether the log cleaner dies or not as part of that tests success. Do you agree [~dhruvilshah]? > Log compactor crashes when empty headers 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 > > 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)