我们的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.
这些日志语句是什么意思?
可能产生的负面影响是什么?
不是:我没有使用Apache Kafka 的经验
谢谢。。
这可能有几个原因,但最常见的原因是代理上的FetchSession缓存已满。
默认情况下,代理缓存多达1000个FetchSessions(通过max.incremental.fetch.session.cache.slots
配置(。当它填满时,代理程序将收回缓存项。如果您的客户端缓存条目不存在,它将收到FETCH_SESSION_ID_NOT_FOUND
错误。
这个错误不是致命的,使用者应该自动发送一个新的完整FetchRequest并继续工作。
您可以使用kafka.server:type=FetchSessionCache,name=NumIncrementalFetchSessions
度量检查FetchSession缓存的大小。