我已经仔细阅读了有关删除记录在Kafka与“kafka-delete-records.sh“的可能性,我也读了以下链接:Confluent博客KIP 107KIP 204的尽管如此,我不清楚Kafka所做的是否只是简单地移动可用的最低偏移量(通过low_watermark),以便消费者可以从那里读取,但在Kafka中保留“删除”的记录。或者,相反,在通知所有经纪人之后,删除记录最终会有效地完成。
u0njafvf1#
假设有cleanup.policy=delete和retention.ms != -1的主题,那么是的,关闭的日志段被删除。线段的闭合由log.segment.bytes + log.roll.hours控制。对于在打开的段中间删除记录,这就是使用KIP中提到的检查点文件的地方,这些检查点文件可能控制代理将哪些低水印报告为主题的一部分。
cleanup.policy=delete
retention.ms != -1
log.segment.bytes
log.roll.hours
oyxsuwqo2#
删除的记录取决于清理策略(delete或/和compact)和分段滚动配置(log.segment.bytes、log.roll.hours)。“已删除”的记录在段关闭之前不会被清除,但一旦它被滚动,无论配置保留如何,都会被清除。
delete
compact
2条答案
按热度按时间u0njafvf1#
假设有
cleanup.policy=delete
和retention.ms != -1
的主题,那么是的,关闭的日志段被删除。线段的闭合由
log.segment.bytes
+log.roll.hours
控制。对于在打开的段中间删除记录,这就是使用KIP中提到的检查点文件的地方,这些检查点文件可能控制代理将哪些低水印报告为主题的一部分。
oyxsuwqo2#
删除的记录取决于清理策略(
delete
或/和compact
)和分段滚动配置(log.segment.bytes
、log.roll.hours
)。“已删除”的记录在段关闭之前不会被清除,但一旦它被滚动,无论配置保留如何,都会被清除。