我们最近在其中一个环境上遇到了例外:
java.lang.NullPointerException
at org.apache.kafka.clients.producer.internals.DefaultPartitioner.partition(DefaultPartitioner.java:70)
at org.apache.kafka.clients.producer.KafkaProducer.partition(KafkaProducer.java:721)
at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:459)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:430)
这种例外是什么可能是根本原因?
查看源代码以下方法是返回分区的空值: org.apache.kafka.common.Cluster#partitionsForTopic
您可能被此缺陷击中:https://issues.apache.org/jira/browse/kafka-3562
即使根本原因有所不同,分区分配和元数据提取之间的某些种族条件仍然可能会有所帮助,因此我建议更新。0.10.0.0现在已经很旧了,以后的版本更加稳定。