Description
Recovery checking on kahadb will ignore a partial journal write at the end of the journal. However repeated write errors increment the write offset and if a subsequent write succeeds recovery fails reporting a corrupt block.
MessageDatabase | emq.store.kahadb.MessageDatabase | Detected corrupt journal files. [34:43883209 >= key < 34:47226069]
One scenario is write failure for no space followed by gc which allows subsequent writes to complete.
A failed write or sync should fail with an exception and should revert any offset increment such that a subsequent write reuses that offset, avoiding a partial write corruption.