Вы можете изменить срок хранения для уже существующей темы, и он будет применяться ко всем сообщениям, которые хранятся в Kafka (для старых и новых).Вы можете как уменьшить, так и увеличить retention.ms
свойство.
Частота, при которой журналы проверяются, проверяются ли журналы на удаление, описываются свойством log.retention.check.interval.ms
(это свойство брокера).Если ваш retention.ms
намного ниже, чем log.retention.check.interval.ms
, вы можете увидеть некоторые лаги.
Также существует другой случай, когда журналы могут быть удалены позже, чем retention.ms
.Кафка хранит сообщения в сегментах.Очистка применяется ко всему сегменту, а не к конкретному сообщению.Если сегменты big (log.segment.bytes
, segment.bytes
) и сообщения добавляются достаточно часто, чтобы не превышать retention.ms
последнего добавленного сообщения, сообщения могут храниться в несколько раз дольше, чем retention.ms
предлагает.
Значение по умолчанию для segment.bytes
равно 1073741824
, поэтому в зависимости от размера сообщения вам необходимо создать от нескольких тысяч до миллионов сообщений, чтобы закрыть сегмент журнала, в результате чего записи могут быть удалены.