Причин такого поведения может быть несколько. Политика очистки уплотнения не запускается после каждого входящего сообщения. Вместо этого существует конфигурация брокера
log.cleaner.min.compaction.lag.ms : минимальное время, в течение которого сообщение остается некомпактным в журнал. Применимо только для сжатых журналов.
Тип: long; По умолчанию: 0; Допустимые значения:; Режим обновления: для всего кластера
По умолчанию используется значение 0
, поэтому это может быть не причиной, а проверкой.
Важно отметить, что политика compact
никогда сжимает текущий сегмент. Сообщения имеют право на сжатие только на неактивных сегментах. Обязательно проверьте
log.segment.bytes : максимальный размер отдельного файла журнала
Тип: int; По умолчанию: 1073741824; Допустимые значения: [14, ...]; Режим обновления: для всего кластера
Сжатие обычно запускается данными, находящимися в текущем («грязном») сегменте журнала. Термин «грязный» происходит от неочищенного / неуплотненного. Существует еще одна конфигурация, которая помогает управлять уплотнением.
log.cleaner.min.cleanable.ratio : минимальное отношение грязного журнала к общему журналу для журнала, на которое можно претендовать чистка. Если также указаны конфигурации log.cleaner.max.compaction.lag.ms или log.cleaner.min.compaction.lag.ms, то компактор журналов считает журнал пригодным для сжатия, как только: (i) порог грязного соотношения был достигнут, и журнал имел грязные (неуплотненные) записи, по крайней мере, на время log.cleaner.min.compaction.lag.ms или (ii) если журнал имел грязные (неуплотненные) записи не более период log.cleaner.max.compaction.lag.ms.
Тип: double; По умолчанию: 0,5; Допустимые значения:; Режим обновления: для всего кластера
По умолчанию задержка удаления для сообщения, подлежащего сжатию, достаточно высока, как показано в следующем описании конфигурации.
log.cleaner.max.compaction.lag.ms : максимальное время, в течение которого сообщение не может быть сжато в журнале. Применимо только для сжатых журналов.
Тип: long; По умолчанию: 9223372036854775807; Допустимые значения:; Режим обновления: для всего кластера
Подводя итог, можно привести несколько причин, по которым вы наблюдаете то, что описали. Есть хороший блог , который объясняет сжатие журнала более подробно.