[ https://issues.apache.org/jira/browse/KAFKA-6492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16347670#comment-16347670 ]
Jiangjie Qin commented on KAFKA-6492: ------------------------------------- [~hachikuji] You are right. This issue will affect earlier versions as well. I'll submit a PR. > LogSemgent.truncateTo() should always resize the index file > ----------------------------------------------------------- > > Key: KAFKA-6492 > URL: https://issues.apache.org/jira/browse/KAFKA-6492 > Project: Kafka > Issue Type: Bug > Components: core > Affects Versions: 1.0.0 > Reporter: Jiangjie Qin > Priority: Major > Fix For: 1.1.0 > > > The bug is the following: > # Initially on a follower broker there are two segments 0 and segment 10000. > Segment 0 is empty (maybe due to log compaction) > # log is truncated to 0. > # LogSemgent.Truncate() will not find a message to truncate in segment 0, so > it will skip resizing the index/timeindex files. > # When a new message is fetched, Log.maybeRoll() will try to roll a new > segment because the index file of segment 0 is already full (max size is 0) > # After creating the new segment 0, the replica fetcher thread finds that > there is already a segment 0 exists. So it just throws exception and dies. > The fix would be let the broker make sure the index files of active segments > are always resized properly. -- This message was sent by Atlassian JIRA (v7.6.3#76005)