Previous Kafka versions used sparse files for indexes and time indexes. When using sparse files, only non-empty data blocks consume disk space. This saves disk space, but when the disk becomes full, trying to write to a previously empty region of the file fails. This in turn causes fatal integrity errors for Kafka.
To avoid this problem, newer Kafka versions allocate entire index files when a new topic partition is created. This guarantees that the indexes can always be written to when needed.
Learn how Aiven simplifies working with Apache Kafka: