Как Кафка обрабатывает отрицательное число в разделе в ProducerRecord в Kafka Client 0.10? - PullRequest
0 голосов
/ 01 июля 2018

В Kafka Client 1.1.0 выставлен чек, чтобы не допустить отрицательного значения, как partition в ProducerRecord.

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

Может кто-нибудь сообщить мне, как Кафка обрабатывает отрицательное число в partition в ProducerRecord в 0.10? Будет ли раздел преобразован в положительное число? Если да, может кто-нибудь указать мне на код / ​​логику преобразования?

1 Ответ

0 голосов
/ 01 июля 2018

При использовании 0.10.0 Kafka Producer отрицательное число для раздела также отклоняется.

Проверка не была выполнена в 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...