当达到retention.bytes限制并且cleanup.policy设置为compact时,Kafka主题中的数据会怎样?

问题描述

当达到retention.bytes限制并且cleanup.policy设置为compact时,Kafka主题中的数据会怎样?哪个设置优先?例如,如果我通过将remaining.bytes设置为10000000(10 MB)并将cleanup.policy设置为“ compact”并且有足够的唯一键占用10MB磁盘空间来创建主题,那么当出现新消息时,Kafka主题中的数据将发生什么被发布到该主题

Kafka会保留旧的唯一键,而忽略tention.bytes配置设置吗?还是Kafka会丢弃较旧的邮件?还是我应该设置tentional.bytes = -1以确保clean.policy = compact能够按预期工作?

解决方法

检查Rohit Yadav的答案here

无需将log.retention设置为-1或任何其他值。您的主题将被压缩,并且旧消息绝不会被删除(按照压缩规则)。

如果将清理策略设置为compact,则会按照此post中的说明进行定期清理。