Кафка 0.11.0.0 запущена в производство.Мы видим, что сжатие журнала в теме смещения потребителя не происходит.В потребительских смещенных разделах мы видим сегменты журнала, оставшиеся там в течение последних 3 месяцев.Журналы очистки журналов показали, что не удалось создать карту для сжатия из-за "CorruptRecordException
".Поскольку в разделах было много файлов-сегментов, каждый размером 100 МБ, вместо того, чтобы взять DumpLogSegements
и найти поврежденный сегмент, мы решили удалить старые файлы-сегменты и оставить только те, которые были сохранены за последние 3 дня.,После этого мы перезапустили kafka, и он, кажется, работал нормально.
Но через 2 дня после этого мы видим, как бревна снова строятся, как это было раньше.Мы больше не видим исключение в поврежденной записи в журналах, но смещения не сжимаются, и с тех пор прошло 7 дней.
Ни одно из значений по умолчанию для сжатия или хранения не было изменено.preallocate также имеет значение false.Кто-нибудь может дать мне какое-либо представление о том, что здесь может происходить?
Редактировать: Кажется, что возникло исключение CorruptRecordException, которое происходит от AbstractLegacyRecordBatch.java
long offset = offsetAndSizeBuffer.getLong(Records.OFFSET_OFFSET);
int size = offsetAndSizeBuffer.getInt(Records.SIZE_OFFSET);
if (size < LegacyRecord.RECORD_OVERHEAD_V0)
throw new CorruptRecordException(String.format("Record size is less than the minimum record overhead (%d)", LegacyRecord.RECORD_OVERHEAD_V0));
Любая идея о том, когда этоможет произойти и почему уплотнение не радует даже после удаления старых сегментов.