Je lis cette question Kafka : Obtention continue de FETCH_SESSION_ID_NOT_FOUND J'essaie d'appliquer la solution suggérée par Hrishikesh Mishra, car nous sommes également confrontés au même problème. J'ai donc augmenté le paramètre du courtier max.incremental.fetch.session.cache.slots à 2000, la valeur par défaut étant 1000. Mais maintenant je me demande comment je peux surveiller le nombre réel d'emplacements de cache de session de récupération incrémentielle utilisés, dans prometheus je vois les métriques kafka_server_fetchsessioncache_numincrementalfetchpartitionscached, et la requête promql montre sur chacun des trois courtiers le nombre qui est maintenant nettement supérieur à 2000, c'est-à-dire 2703, 2655 et 2054, donc je suis confus si je regarde les métriques appropriées. Il y a aussi kafka_server_fetchsessioncache_incrementalfetchsessionevictions_total qui montre des zéros sur tous les brokers.
OK, il y a aussi kafka_server_fetchsessioncache_numincrementalfetchsessions qui montre environ 500 sur chacun des trois brokers, donc un total d'environ 1500, qui est entre 1000 et 2000, donc peut-être que cette métrique est celle qui est contrôlée par max.incremental.fetch.session.cache.slots ?
En fait, à l'heure actuelle, il y a déjà plus de 700 sessions de récupération incrémentale sur chaque courtier, soit un total de plus de 2100, donc, évidemment, la limite de 2000 s'applique à chaque courtier, de sorte que le nombre dans l'ensemble du cluster peut aller jusqu'à 6000. La raison pour laquelle le nombre est maintenant inférieur à 1000 sur chaque courtier est que les courtiers ont été redémarrés après le changement de configuration.
Et la question est de savoir comment contrôler cette répartition au niveau du consommateur individuel. Une telle requête :
count by (__name__) ({__name__=~".*fetchsession.*"})
ne renvoie que ce tableau :
Element Value
kafka_server_fetchsessioncache_incrementalfetchsessionevictions_total{} 3
kafka_server_fetchsessioncache_numincrementalfetchpartitionscached{} 3
kafka_server_fetchsessioncache_numincrementalfetchsessions{} 3