为什么Kafka消费者在更新到1.1后会输出INVALID_FETCH_SESSION_EPOCH?

Mar*_*ark 19 apache-kafka kafka-consumer-api

我们最近将我们的Kafka经纪人和客户更新为1.1.1.自升级以来,我们会定期查看INFO日志条目,例如

INFO Jun 08 08:30:20.335 61161458 [KafkaRecordConsumer-0] org.apache.kafka.clients.FetchSessionHandler [Consumer clientId=consumer-1, groupId=group_60_10] Node 3 was unable to process the fetch request with (sessionId=819759315, epoch=145991): INVALID_FETCH_SESSION_EPOCH.

我看到此消息来自KIP-227中引入的更改:引入增量获取请求以提高分区稳定性.但是,我找不到任何有关此消息出现原因的详细信息,或者在引入后可能需要调整哪些参数.

到目前为止,它似乎没有对接收记录的消费者行为产生影响(除了引入额外的延迟),但我想了解

  1. 为什么要记录消息?
  2. 可以做些什么来阻止它被记录?

Mar*_*ark 3

这是 Kafka 中的竞争条件 - KAFKA-8052

它将在 2.3.0 版本中修复。