Apache Flink 和 Kafka FETCH_SESSION_ID_NOT_FOUND 信息日志

Apache Flink & Kafka FETCH_SESSION_ID_NOT_FOUND info logs

我们的 Flink 应用程序有一个 Kafka 数据源。

应用程序 运行 具有 32 个并行度。

当我查看日志时,我看到很多关于 FETCH_SESSION_ID_NOT_FOUND 的语句。

2020-05-04 11:04:47,753 INFO  org.apache.kafka.clients.FetchSessionHandler                  - [Consumer clientId=consumer-81, groupId=sampleGroup]
Node 26 was unable to process the fetch request with (sessionId=439766827, epoch=42): FETCH_SESSION_ID_NOT_FOUND.
2020-05-04 11:04:48,230 INFO  org.apache.kafka.clients.FetchSessionHandler                  - [Consumer clientId=consumer-78, groupId=sampleGroup]
Node 28 was unable to process the fetch request with (sessionId=281654250, epoch=42): FETCH_SESSION_ID_NOT_FOUND.

这些日志语句是什么意思?

可能的负面影响是什么?

Not: I have no experience with Apache Kafka

谢谢..

发生这种情况的原因有多种,但最常见的原因是代理上的 FetchSession 缓存已满。

默认情况下,代理缓存最多 1000 个 FetchSession(通过 max.incremental.fetch.session.cache.slots 配置)。当它填满时,代理会逐出缓存条目。如果您的客户端缓存条目不存在,它将收到 FETCH_SESSION_ID_NOT_FOUND 错误。

此错误不是致命错误,消费者应自动发送新的完整 FetchRequest 并继续工作。

您可以使用 kafka.server:type=FetchSessionCache,name=NumIncrementalFetchSessions 指标检查 FetchSession 缓存的大小。