[ https://issues.apache.org/jira/browse/KAFKA-593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13489500#comment-13489500 ]
Jay Kreps commented on KAFKA-593: --------------------------------- trimOrReallocate(isReallocate: Boolean) is a bit of a hacky interface. This supports resizing to two sizes: entries or maxSize, but it would be better to just implement the more general resize(numEntries: Int) numEntries is the mmap.limit/8. It might be nice to leave the helper method trimToSize as a less error prone alias def trimToSize() = resize(entries) If we do this we should be able to use resize to implement OffsetIndex.truncateTo (the difference between truncateTo and resize is that truncateTo is in terms of offset whereas resize is in terms of entries). We should also add a test case to cover these corner cases. > Empty log index file created when it shouldn't be empty > ------------------------------------------------------- > > Key: KAFKA-593 > URL: https://issues.apache.org/jira/browse/KAFKA-593 > Project: Kafka > Issue Type: Bug > Reporter: Yang Ye > Attachments: kafka_583_zk_kafka_data.tar.gz, kafka_593_v1.diff > > > We have met empty index file during system test when it shouldn't be empty. > In this case, there're around 100 messages in each segment, each of size > around 100 bytes, given the "logIndexIntervalBytes" 4096, there should be at > least 2 log index entries, but we see empty index file. The kafka and > zookeeper logs are attached > [yye@yye-ld kafka_server_3_logs]$ cd test_1-2/ > [yye@yye-ld test_1-2]$ ls -l > total 84 > -rw-r--r-- 1 yye eng 8 Oct 29 15:22 00000000000000000000.index > -rw-r--r-- 1 yye eng 10248 Oct 29 15:22 00000000000000000000.log > -rw-r--r-- 1 yye eng 8 Oct 29 15:22 00000000000000000100.index > -rw-r--r-- 1 yye eng 10296 Oct 29 15:22 00000000000000000100.log > -rw-r--r-- 1 yye eng 0 Oct 29 15:23 00000000000000000200.index > -rw-r--r-- 1 yye eng 10293 Oct 29 15:23 00000000000000000200.log > -rw-r--r-- 1 yye eng 0 Oct 29 15:23 00000000000000000300.index > -rw-r--r-- 1 yye eng 10274 Oct 29 15:23 00000000000000000300.log > -rw-r--r-- 1 yye eng 0 Oct 29 15:23 00000000000000000399.index > -rw-r--r-- 1 yye eng 10276 Oct 29 15:23 00000000000000000399.log > -rw-r--r-- 1 yye eng 0 Oct 29 15:23 00000000000000000498.index > -rw-r--r-- 1 yye eng 10256 Oct 29 15:23 00000000000000000498.log > -rw-r--r-- 1 yye eng 10485760 Oct 29 15:23 00000000000000000596.index > -rw-r--r-- 1 yye eng 3564 Oct 29 15:23 00000000000000000596.log -- 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