web-dev-qa-db-fra.com

kafka: les compensations de validation ont échoué avec une exception récupérable. Vous devriez réessayer de commettre des compensations

[o.a.k.c.c.i.ConsumerCoordinator] [La validation automatique du décalage a échoué pour le groupe groupe de consommateurs: les décalages de validation ont échoué avec la variable récupérable exception. Vous devez réessayer de commettre des compensations.] []

Pourquoi cette erreur survient-elle chez les consommateurs de kafka? Qu'est-ce que ça veut dire?

Les propriétés de consommation que j'utilise sont:

fetch.min.bytes:1
enable.auto.commit:true
auto.offset.reset:latest
auto.commit.interval.ms:5000
request.timeout.ms:300000
session.timeout.ms:20000
max.poll.interval.ms:600000
max.poll.records:500
max.partition.fetch.bytes:10485760

Quelle est la raison de cette erreur à venir? Je suppose que le consommateur fait actuellement un travail en double à cause de cette erreur.

Je n'utilise ni consumer.commitAsync() ni consumer.commitSync()

7
enator

Le consommateur donne cette erreur au cas où il attrape une instance de RetriableException.

Les raisons peuvent être diverses:

  • si le coordinateur charge toujours les métadonnées du groupe 
  • si le sujet de métadonnées du groupe n'a pas encore été créé
  • en cas de corruption du réseau ou de disque, ou d’exceptions diverses IOException liées au disque ou au réseau lors du traitement d’une demande
  • si le serveur est déconnecté avant qu'une requête puisse être complétée
  • si les métadonnées du client sont obsolètes
  • s'il n'y a pas de leader actuellement disponible pour la partition donnée
  • si aucun courtier n'était disponible pour compléter une demande

Comme vous pouvez le voir dans la liste ci-dessus, toutes ces erreurs pourraient être des problèmes temporaires, c’est pourquoi il est suggéré de réessayer la demande.

2
Andremoniy