Azure eventhub Kafka org.apache.kafka.common.errors.TimeoutException для некоторых записей - PullRequest
0 голосов
/ 19 сентября 2019

Имейте ArrayList, содержащий от 80 до 100 записей, пытающихся выполнить потоковую передачу и отправить каждую отдельную запись (POJO, а не весь список) в тему Kafka (концентратор событий).Запланировал задание cron на каждый час, чтобы отправлять эти записи (POJO) в концентратор событий.

Возможность видеть сообщения, отправляемые в концентратор событий, но после 3–4 успешных запусков получало следующее исключение (которое включает в себя отправку нескольких сообщений).и несколько сбоев с нижеуказанным исключением)

    Expiring 14 record(s) for eventhubname: 30125  ms has passed since batch creation plus linger time

Ниже приведен конфиг для используемого производителя,

    props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
    props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
    props.put(ProducerConfig.ACKS_CONFIG, "1");
    props.put(ProducerConfig.RETRIES_CONFIG, "3");

Срок хранения сообщений - 7 Раздел - 6 с использованием пружины Кафки (2.2.3) дляотправить метод событий, помеченный как @Async, где записана отправка kafka

    @Async
    protected void send() {
       kafkatemplate.send(record);
    }

Ожидается - Нет исключений для kafka. Actual - org.apache.kafka.common.errors.TimeoutException брошено

1 Ответ

0 голосов
/ 20 сентября 2019

Это исключение означает, что вы ставите записи в очередь с большей скоростью, чем они могут быть отправлены.Как только запись добавляется в пакет, существует ограничение по времени для отправки этого пакета, чтобы убедиться, что он был отправлен в течение указанного периода времени.Это контролируется параметром конфигурации источника, request.timeout.ms.Если партия была поставлена ​​в очередь дольше, чем предел времени ожидания, будет сгенерировано исключение.Записи в этом пакете будут удалены из очереди на отправку.

Пожалуйста, проверьте наличие подобных проблем ниже, это может помочь лучше.

Производитель Kafka TimeoutException: Истекает 1 запись (и)

Вы также можете проверить эту ссылку

когда делает апач-кафка-клиент-выбросить-истечение-пакета-исключение / 34794261 # 34794261 дляпричина более подробная информация об исключении с истекшим сроком действия пакета .

Также реализуйте правильную политику повторных попыток.

Обратите внимание, что это не учитывает какие-либо проблемы со сканером в сети.При проблемах с сетью вы не сможете отправить ни на один из узлов.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...