Après avoir écrit un producteur basé sur le canal de base dans golang en utilisant confluent-kafka-go et une seule partition kafka simple courtier mis en place par confluent. Lors de la production parfois pendant l'itération à travers le acks
le décalage du message produit avec succès est reçu comme .Kafka renvoyant Offset à 0 lors de la production
journaux Exemples:
{ "niveau": "info", "msg": "Publié avec succès le test de sujet, OFFSET 0, Partition 0 et longueur 1316", "temps": "2017- 10-03T17: 03: 43 + 05: 30 "}
{" level ":" info "," msg ":" Publié avec succès au test de sujet, décalage 0, partition 0 et longueur 1316 "," heure " : "2017-10-03T17: 03: 43 + 05: 30"}
Ceci est la fonction qui effectue une itération sur la kafka acks:
func (kc *KafkaClient) HandleAcknowledgements() {
for event := range kc.AckChannel {
message := event.(*kafka.Message)
if message.TopicPartition.Error != nil {
log.Errorf("Delivery Failed: Partition: %d Reason: %v", message.TopicPartition.Partition, message.TopicPartition.Error)
} else {
if message.TopicPartition.Offset == 0 {
bodyLen := len(message.Value)
log.Infof("Published successfully to topic %s, offset %s, Partition %d and Length %d", *message.TopicPartition.Topic, message.TopicPartition.Offset, message.TopicPartition.Partition, bodyLen)
}
}
}
}
Ma politique de rétention est comme ci-dessous:
log.retention.hours=168
Toute sorte d'aide sera grande, pour pourquoi cela arrive!
Merci.
pas sûr de ce client qui est juste un emballage sur le client C, avez-vous essayé celui-ci https://github.com/Shopify/sarama? –
Oui, j'ai essayé de répliquer ce comportement, probablement ce problème a quelque chose à voir avec la bibliothèque elle-même. J'ai remarqué que, les messages sont produits et que le décalage est maintenu correctement en interne, c'est juste que le décalage n'est pas reflété dans les accusations. Besoin de creuser plus profondément pour connaître la raison réelle. Mettra à jour le poste une fois que je rencontre quelque chose de concret! Merci @YandryPozo! – nams