[
https://issues.apache.org/jira/browse/KAFKA-7283?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jun Rao resolved KAFKA-7283.
----------------------------
Resolution: Fixed
Fix Version/s: 2.3.0
Merged the PR to trunk.
> mmap indexes lazily and skip sanity check for segments below recovery point
> ---------------------------------------------------------------------------
>
> Key: KAFKA-7283
> URL: https://issues.apache.org/jira/browse/KAFKA-7283
> Project: Kafka
> Issue Type: New Feature
> Reporter: Zhanxiang (Patrick) Huang
> Assignee: Zhanxiang (Patrick) Huang
> Priority: Major
> Fix For: 2.3.0
>
>
> This is a follow-up ticket for KIP-263.
> Currently broker will mmap the index files, read the length as well as the
> last entry of the file, and sanity check index files of all log segments in
> the log directory after the broker is started. These operations can be slow
> because broker needs to open index file and read data into page cache. In
> this case, the time to restart a broker will increase proportional to the
> number of segments in the log directory.
> Per the KIP discussion, we think we can skip sanity check for segments below
> the recovery point since Kafka does not provide guarantee for segments
> already flushed to disk and sanity checking only index file benefits little
> when the segment is also corrupted because of disk failure. Therefore, we can
> make the following changes to improve broker startup time:
> # Mmap the index file and populate fields of the index file on-demand rather
> than performing costly disk operations when creating the index object on
> broker startup.
> # Skip sanity checks on indexes of segments below the recovery point.
> With these changes, the broker startup time will increase only proportional
> to the number of partitions in the log directly after cleaned shutdown
> because only active segments are mmaped and sanity checked.
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)