Kafka: recebendo continuamente FETCH_SESSION_ID_NOT_FOUND

9

Estou recebendo FETCH_SESSION_ID_NOT_FOUND continuamente. Não sei por que isso está acontecendo. Alguém pode me agradar aqui qual é o problema e qual será o impacto nos consumidores e corretores.

Log do servidor Kafka:

INFO [2019-10-18 12:09:00,709] [ReplicaFetcherThread-1-8][] org.apache.kafka.clients.FetchSessionHandler - [ReplicaFetcher replicaId=6, leaderId=8, fetcherId=1] Node 8 was unable to process the fetch request with (sessionId=258818904, epoch=2233): FETCH_SESSION_ID_NOT_FOUND.
 INFO [2019-10-18 12:09:01,078] [ReplicaFetcherThread-44-10][] org.apache.kafka.clients.FetchSessionHandler - [ReplicaFetcher replicaId=6, leaderId=10, fetcherId=44] Node 10 was unable to process the fetch request with (sessionId=518415741, epoch=4416): FETCH_SESSION_ID_NOT_FOUND.
 INFO [2019-10-18 12:09:01,890] [ReplicaFetcherThread-32-9][] org.apache.kafka.clients.FetchSessionHandler - [ReplicaFetcher replicaId=6, leaderId=9, fetcherId=32] Node 9 was unable to process the fetch request with (sessionId=418200413, epoch=3634): FETCH_SESSION_ID_NOT_FOUND.

Registro do Consumidor Kafka:

12:29:58,936 INFO  [FetchSessionHandler:383] [Consumer clientId=bannerGroupMap#87e2af7cf742#test, groupId=bannerGroupMap#87e2af7cf742#test] Node 8 was unable to process the fetch request with (sessionId=1368981303, epoch=60): FETCH_SESSION_ID_NOT_FOUND.
12:29:58,937 INFO  [FetchSessionHandler:383] [Consumer clientId=bannerGroupMap#87e2af7cf742#test, groupId=bannerGroupMap#87e2af7cf742#test] Node 3 was unable to process the fetch request with (sessionId=1521862194, epoch=59): FETCH_SESSION_ID_NOT_FOUND.
12:29:59,939 INFO  [FetchSessionHandler:383] [Consumer clientId=zoneGroupMap#87e2af7cf742#test, groupId=zoneGroupMap#87e2af7cf742#test] Node 7 was unable to process the fetch request with (sessionId=868804875, epoch=58): FETCH_SESSION_ID_NOT_FOUND.
12:30:06,952 INFO  [FetchSessionHandler:383] [Consumer clientId=creativeMap#87e2af7cf742#test, groupId=creativeMap#87e2af7cf742#test] Node 3 was unable to process the fetch request with (sessionId=1135396084, epoch=58): FETCH_SESSION_ID_NOT_FOUND.
12:30:12,965 INFO  [FetchSessionHandler:383] [Consumer clientId=creativeMap#87e2af7cf742#test, groupId=creativeMap#87e2af7cf742#test] Node 6 was unable to process the fetch request with (sessionId=1346340004, epoch=56): FETCH_SESSION_ID_NOT_FOUND.

Detalhes do cluster:

Broker: 13 (1 Broker : 14 cores & 36GB memory)
Kafka cluster version: 2.0.0
Kafka Java client version: 2.0.0
Number topics: ~15. 
Number of consumers: 7K (all independent and manually assigned all partitions of a topic to a consumers. One consumer is consuming all partitions from a topic only) 
Hrishikesh Mishra
fonte
Estou recebendo esse mesmo erro com o cliente Kafka Java versão 2.3.1. Alguém tem alguma idéia?
Bert S.
@ BertS.increase esse valormax.incremental.fetch.session.cache.slots
Hrishikesh Mishra
Oi @HrishikeshMishra foi esta (comentário acima) a solução que você encontrou para este problema? Você consideraria adicioná-lo como uma resposta à sua postagem e, se possível, com um pouco de explicação. Estou tendo o mesmo problema, testarei sua solução acima.
Jorge Campos
Este é um log INFO. Quais são as implicações de apenas ignorá-lo?
Bert S.

Respostas:

1

Aumente o valor de max.incremental.fetch.session.cache.slots. O valor padrão é 1K, no meu caso eu aumentei para 10K e foi corrigido.

Hrishikesh Mishra
fonte
Essa é uma configuração no broker?
Bert S.
Sim, sua configuração de corretor
Hrishikesh Mishra
Existe algo que pode ser feito no lado do consumidor ou produtor?
Bert S.
Não é necessário nada no final do produtor e consumidor.
Hrishikesh Mishra
Eu vejo o erro no meu consumidor. Não tenho acesso para modificar o próprio broker. Isso deveria ser uma preocupação para mim?
Bert S.
0

Aumentei-o inicialmente de 1K para 2K e, na segunda etapa, de 2K para 4K, e enquanto o limite não estava esgotado, não havia aparência de erro:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Como me pareceu um vazamento de sessão por parte de um consumidor não identificado, ainda não tentei o limite de 10 mil, mas lendo a resposta de Hrishikesh Mishra, definitivamente tentarei. Como o aumento do limite também diminuiu a frequência do erro, a questão de identificar grupos de consumidores individuais que estão abrindo um número excessivo de sessões de busca incremental, mencionada aqui Como verificar o número real de slots de cache da sessão de busca incremental usados ​​no cluster Kafka? , pode ser irrelevante no final.

hdjur_jcv
fonte