Kafka: Continuamente obteniendo FETCH_SESSION_ID_NOT_FOUND

9

Continuamente recibo FETCH_SESSION_ID_NOT_FOUND. No estoy seguro de por qué está sucediendo. ¿Alguien puede complacerme aquí cuál es el problema y cuál será el impacto en los consumidores y los corredores?

Registro del 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 del consumidor de 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.

Detalles del clúster:

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
fuente
Recibo este mismo error con el cliente Kafka Java versión 2.3.1. ¿Alguien tiene alguna idea?
Bert S.
@ BertS. Aumente este valormax.incremental.fetch.session.cache.slots
Hrishikesh Mishra
Hola @HrishikeshMishra, ¿fue esta (el comentario anterior) la solución que encontraste para este problema? ¿Consideraría agregarlo como respuesta a su publicación y, si es posible, con un poco de explicación? Tengo el mismo problema, probaré la solución anterior.
Jorge Campos
Este es un registro INFO. ¿Cuáles son las implicaciones de simplemente ignorarlo?
Bert S.

Respuestas:

1

Aumentar el valor de max.incremental.fetch.session.cache.slots. El valor predeterminado es 1K, en mi caso lo aumenté a 10K y lo arreglé.

Hrishikesh Mishra
fuente
¿Es esta una configuración en el corredor?
Bert S.
Sí, su configuración de corredor
Hrishikesh Mishra
¿Hay algo que se pueda hacer por parte del consumidor o productor?
Bert S.
No se requiere nada a nivel de productor y consumidor.
Hrishikesh Mishra
Veo el error en mi consumidor. No tengo acceso para modificar el corredor en sí. ¿Debería ser esto una preocupación para mí?
Bert S.
0

Lo aumenté al principio de 1K a 2K, y en el segundo paso de 2K a 4K, y mientras el límite no se agotara, no aparecía ningún error:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Como me pareció una fuga de sesión por cierto consumidor no identificado, todavía no probé el límite de 10K, pero leyendo la respuesta de Hrishikesh Mishra, definitivamente lo haré. Porque, al aumentar el límite también disminuyó la frecuencia de error, por lo que la cuestión de identificar grupos de consumidores individuales que están abriendo un número excesivo de sesiones de recuperación incremental, se menciona aquí ¿Cómo verificar el número real de ranuras de caché de sesión de recuperación incremental utilizadas en el clúster Kafka? , puede ser irrelevante al final.

hdjur_jcv
fuente