Я тестирую работу kafka-themes, но я не понимаю, как работает удаление.
Я создал простую тему с
retention.ms = 60000
и
segment.ms = 60000
и
cleanup.policy=delete.
После этого я создал продюсера и яотправил несколько сообщений. Потребитель получает сообщения без проблем. Но я ожидаю, что через одну минуту, если пользователь будет повторен, он не покажет сообщения, потому что они должны быть удалены. Но такое поведение не происходит.
Если я создаю запрос в ksql, это то же самое. Сообщения появляются всегда.
Мне кажется, я не понимаю, как работает удаление.
Пример:
1) Тема
./kafka-topics --create --zookeeper localhost:2181 --topic test --
replication-factor 2 --partitions 1 --config "cleanup.policy=delete" --
config "delete.retention.ms=60000" --config "segment.ms=60000"
2) производитель
./kafka-avro-console-producer --broker-list broker:29092 --topic test--
property parse.key=true --property key.schema='{"type":"long"}' --property
"key.separator=:" --property value.schema='{"type": "record","name":
"ppp","namespace": "test.topic","fields": [{"name": "id","type": "long"}]}'
3) сообщения от производителя
1:{"id": 1}
2:{"id": 2}
4:{"id": 4}
5:{"id": 5}
4) потребитель
./kafka-avro-console-consumer \
--bootstrap-server broker:29092 \
--property schema.registry.url=http://localhost:8081 \
--topic test--from-beginning --property print.key=true
потребитель показывает четыре сообщения.
Но я ожидаю, что если я снова запущу потребителя через одну минуту (я тоже ждал больше времени, даже часов), сообщения не будут отображаться, потому что retention.ms и plot.ms составляют одну минуту.
Когда сообщения действительно удаляются?