Details
Description
When the log contains out of order message formats (for example a v2 message followed by a v1 message), it is possible for down-conversion to fail in certain scenarios where batches compressed and greater than 1kB in size. Down-conversion fails with a stack like the following:
java.lang.IllegalArgumentException
at java.nio.Buffer.limit(Buffer.java:275)
at org.apache.kafka.common.record.FileLogInputStream$FileChannelRecordBatch.writeTo(FileLogInputStream.java:176)
at org.apache.kafka.common.record.AbstractRecords.downConvert(AbstractRecords.java:107)
at org.apache.kafka.common.record.FileRecords.downConvert(FileRecords.java:242)