From what I understand kafka uses the “write-behind” technique, when writing data. Meaning that it will write data to the page cache (as dirty pages) first and eventually flush these dirty pages to disk.
When does this flush occur? Does it happen before I receive an ack from kafka? If not, then there’s no proper fault tolerance imo, as we can lose data that is still in RAM and hasn’t been flushed.