[ 
https://issues.apache.org/jira/browse/KAFKA-748?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13574067#comment-13574067
 ] 

Jay Kreps commented on KAFKA-748:
---------------------------------

Okay the problem here is the resize method. We generalized index.trimInvalid to 
index.resize to be able to enlarge the index when we load a segment. This was 
done to avoid rolling the log on a full index, I think, which had other 
problems with empty indexes. However it looks like this never actually was 
tried, because doing this resets the position in the mmap to 0, so we start 
overwriting the entries in the index from the beginning but expanding what we 
think the valid segment of the memory map is. When we close we then have a 
bunch of zeros at the end of the index and have overwritten the front of the 
file.
                
> Append to index fails due to invalid offset
> -------------------------------------------
>
>                 Key: KAFKA-748
>                 URL: https://issues.apache.org/jira/browse/KAFKA-748
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.8
>            Reporter: Sriram Subramanian
>            Assignee: Jay Kreps
>            Priority: Blocker
>              Labels: p1
>             Fix For: 0.8
>
>         Attachments: outindex, outmsg
>
>
> We seem to be appending to the index and it checks to make sure we do not 
> insert an entry with an offset that is larger than the actual offset of the 
> message. We seem to be trying to insert an offset = 1 in the index while 
> lastOffset is 24463. This seems to get fixed on restarting the broker.
> java.lang.IllegalArgumentException: Attempt to append an offset (1) to 
> position 21703 no larger than the last offset appended (24463).
> at kafka.log.OffsetIndex.append(OffsetIndex.scala:183)
> at kafka.log.LogSegment.append(LogSegment.scala:60)
> at kafka.log.Log.append(Log.scala:286)
> at 
> kafka.server.KafkaApis$$anonfun$appendToLocalLog$2.apply(KafkaApis.scala:188)
> at 
> kafka.server.KafkaApis$$anonfun$appendToLocalLog$2.apply(KafkaApis.scala:181)
> at 
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
> at 
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
> at scala.collection.immutable.Map$Map1.foreach(Map.scala:105)
> at scala.collection.TraversableLike$class.map(TraversableLike.scala:206)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to