Kafka是删除记录还是仅仅移动偏移量?

yrdbyhpb  于 2023-11-16  发布在  Apache
关注(0)|答案(2)|浏览(120)

我已经仔细阅读了有关删除记录在Kafka与“kafka-delete-records.sh“的可能性,我也读了以下链接:
Confluent博客
KIP 107
KIP 204
尽管如此,我不清楚Kafka所做的是否只是简单地移动可用的最低偏移量(通过low_watermark),以便消费者可以从那里读取,但在Kafka中保留“删除”的记录。或者,相反,在通知所有经纪人之后,删除记录最终会有效地完成。

u0njafvf

u0njafvf1#

假设有cleanup.policy=deleteretention.ms != -1的主题,那么是的,关闭的日志段被删除。
线段的闭合由log.segment.bytes + log.roll.hours控制。
对于在打开的段中间删除记录,这就是使用KIP中提到的检查点文件的地方,这些检查点文件可能控制代理将哪些低水印报告为主题的一部分。

oyxsuwqo

oyxsuwqo2#

删除的记录取决于清理策略(delete或/和compact)和分段滚动配置(log.segment.byteslog.roll.hours)。
“已删除”的记录在段关闭之前不会被清除,但一旦它被滚动,无论配置保留如何,都会被清除。

  • 根据@尤金的建议,从我对@OneCriketeer的评论中发布 *

相关问题