When a KeyValue is constructed from a corrupt byte array then IllegalArgumentException is thrown with a detailed message where the issue is in the array. This is part of a sanity check introduced in
However, this is not logged at this time and the exception goes up to ProtobufLogReader.readNext where it is caught, wrapped into EOFException and the processing of the current WAL file is stopped.
There is only a TRACE level log message that could indicate if something went wrong.
This will cause data loss without log message not just for the single corrupted KV but for the rest of the WAL file.