Kafka allows consumers to read a topic starting from any offset, assuming the records haven’t been deleted yet. This feature requires Kafka to be able to quickly and efficiently jump to the requested offset. Naturally, Kafka requires indexes to do fast lookups, and it thus creates one for each partition. Indexes, like messages, are broken up into segments so that the index entries for messages that have been deleted can be easily deleted as well. Indexes can also be easily generated from reading the corresponding log segment. Consequently, checksums aren’t maintained for indexes since even if they become corrupt, they can be regenerated.