У нас есть кафка с высокой доступностью. Мы запускаем несколько потоков kafka и запускаем задания на разные темы.
Но мы обнаружили странную проблему с отправкой записи. Полученная нами ошибка выглядит следующим образом
task [0_4] Ошибка отправки записи (ключ 27314 значение example.jar.class timestamp 1535741326818) в тему TOPIC_NAME из-за {}; Больше записей не будет отправлено, и больше смещений не будет записано для этой задачи.
Вы можете увеличить параметр производителя retries
и retry.backoff.ms
, чтобы избежать этой ошибки.
org.apache.kafka.streams.errors.StreamsException: task [0_4] Прервать отправку из-за ошибки, обнаруженной в предыдущей записи (значение ключа 27314 example.jar.class@6f7cb16c отметка времени 1535741326818) в тему TOPIC_NAME из-за записи с истекающим сроком 1 (s) ) для TOPIC_NAME-4: 42708 мс прошло с момента создания пакета плюс время ожидания
Вы можете увеличить параметр производителя retries
и retry.backoff.ms
, чтобы избежать этой ошибки.
Мы также пытались сохранить время задержки 0, чтобы оно обрабатывалось сразу же после получения. но не повезло.
Наша конфигурация указана ниже
retries: 3
retry-backoff-ms: 20000
replication-factor: 1
reconnect-backoff-ms: 60000
max-poll-records: 1000
session-timeout-ms: 300000
Также у нас есть марафон для управления потоками kafka, но он не определяет его как сбой и не перезапускается автоматически.
Итак, я хочу либо правильно запустить потоки kafka, либо автоматически перезапустить марафон при таких ошибках (последний вариант).