kafka如何处理kafka client 0.10中producerrecord分区中的负数?

ykejflvf  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(294)

在kafka client 1.1.0中,设置了一个复选框,以不允许出现负值 partitionProducerRecord .
https://github.com/apache/kafka/blob/1.1/clients/src/main/java/org/apache/kafka/clients/producer/producerrecord.java#l73
但我没有看到这样的登记 ProducerRecord 在Kafka客户端0.10.0中。
https://github.com/apache/kafka/blob/0.10.0/clients/src/main/java/org/apache/kafka/clients/producer/producerrecord.java#l62
有人能告诉我Kafka是怎么处理这个负数的吗 partitionProducerRecord 在0.10?分区会被转换成正数吗?如果是,有人能告诉我转换的代码/逻辑吗?

kqhtkvqz

kqhtkvqz1#

对于0.10.0kafka生产者,分区的负数也被拒绝。
检查没有及时完成 ProducerRecord 就像在最近的版本中,但是在 KafkaProducer.partition() 您将得到以下堆栈跟踪:

Exception in thread "main" java.lang.IllegalArgumentException: Invalid partition given with record: -1 is not in the range [0...0].
at org.apache.kafka.clients.producer.KafkaProducer.partition(KafkaProducer.java:717)
at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:459)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:430)
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:353)

相关问题