Kafka如何处理消费者偏移量在段文件中时保留期到期的情况?

How does Kafka handle a situation where retention period expires while a consumer offset is within the segment file?

我想知道卡夫卡会如何处理这种情况。消费者遇到了一条毒丸消息,并且没有接受它。很长一段时间(15 天)都没有人注意到。该主题的保留期为(7 天)。假设这个毒丸在一个满足保留期限删除要求的日志段文件中。

会发生什么?

  1. Kafka 是否允许在消费者主动尝试读取该日志段文件时删除该文件?
  2. Kafka 是否会删除日志段文件并让 Consumer 争先恐后地尝试使用 auto.offset.reset 设置找出从哪里开始读取?

它将是选项 2,您可以在消费者实例上找到表明它正在寻找 beginning/end 的日志,或者如果自动偏移重置 = none 表示偏移是超出范围