kowshik commented on a change in pull request #11345: URL: https://github.com/apache/kafka/pull/11345#discussion_r719733337
########## File path: core/src/main/scala/kafka/log/LogSegment.scala ########## @@ -77,8 +77,9 @@ class LogSegment private[log] (val log: FileRecords, timeIndex.resize(size) } - def sanityCheck(timeIndexFileNewlyCreated: Boolean): Unit = { - if (lazyOffsetIndex.file.exists) { + def sanityCheck(timeIndexFileNewlyCreated: Boolean, isActiveSegment: Boolean): Unit = { + // We allow for absence of offset index file only for an empty active segment. + if ((isActiveSegment && size == 0) || lazyOffsetIndex.file.exists) { Review comment: @junrao It's a really good question. https://github.com/apache/kafka/pull/8346 is the PR where lazy indexes were introduced. The description says it eliminates unnecessary disk accesses and memory map operations while deleting, renaming or closing offset and time indexes. As a result, a significant shutdown time improvement was noticed. Supposing if we flushed the empty active segment, could the shutdown time regress? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org