Сообщения Kafka не удаляются

Я новичок в Кафке. Я провожу эксперимент, как удалить сообщения в теме кафки. Я обнаружил, что если мы установим для свойства «retention.ms» для темы меньшее значение времени, скажем, 1 секунду, то через 1 секунду сообщения в теме будут удалены, как я понимаю.

Я запустил одного продюсера, который написал несколько сообщений по теме, и остановил его через некоторое время. В то же время я запустил консоль-потребитель, чтобы он получал сгенерированные сообщения. Я запустил другую потребительскую консоль для той же темы по истечении времени хранения, скажем, через 1-2 минуты. Но к моему удивлению, я смог получить сообщения по этой теме. Потребитель консоли запустился снова через 2 минуты, когда я не видел никаких сообщений в теме. Кафке потребовалось почти 3-4 минуты, чтобы очистить сообщения. Требуются ли какие-либо дополнительные настройки в Kafka, чтобы сообщения удалялись мгновенно?


person Rahul Vedpathak    schedule 12.06.2019    source источник


Ответы (1)


Установка retention.ms не гарантирует, что сообщение будет немедленно удалено из темы. Даже если он будет помечен для удаления.

Если ваше сообщение состоит из пары, то время удерживания недостаточно. Также необходимо установить следующие параметры:

log.cleanup.policy
log.cleaner.min.compaction.lag.ms
log.cleaner.enable

Другой набор параметров контролирует удаление сообщения в случае, если они присутствуют в вашем конфиге:

log.retention.ms
log.roll.hours
person Steephen    schedule 14.06.2019