Kafka Client: 0.11.0.0-cp1
Кафка Брокер:
При перезапуске брокера Kafka наше приложение потеряло некоторые сообщения при отправке брокеру. Я считаю, что при повторном запуске не должно быть потери сообщения. Это настройки производителя (с использованием Producer с асинхронной отправкой () и без обратного вызова / будущего и т. Д.), Которые мы используем:
val acksConfig: String = "all",
val retriesConfig: Int = Int.MAX_VALUE,
val retriesBackOffConfig: Int = 1000,
val batchSize: Int = 32768,
val lingerTime: Int = 1,
val maxBlockTime: Int = Int.MAX_VALUE,
val requestTimeOut: Int = 420000,
val bufferMemory: Int = 33_554_432,
val compressionType: String = "gzip",
val keySerializer: Class<StringSerializer> = StringSerializer::class.java,
val valueSerializer: Class<ByteArraySerializer> = ByteArraySerializer::class.java
Я вижу эти исключения в журналах
2019-03-19 17:30:59,224 [org.apache.kafka.clients.producer.internals.Sender] [kafka-producer-network-thread | producer-1] (Sender.java:511) WARN org.apache.kafka.clients.producer.internals.Sender - Got error produce response with correlation id 1105790 on topic-partition catapult_on_entitlement_updates_prod-67, retrying (2147483643 attempts left). Error: NOT_LEADER_FOR_PARTITION
Но в журнале написано, что попытка повторения оставлена, мне любопытно, почему она не повторилась? Дайте мне знать, если у кого-нибудь есть идеи?