2017-02-13 3 views
2

Я использую Кафку 0.10.1.1 и написать производителя тест, но я получаю сообщение об ошибке в producer.sendonCompletion обратного вызова:Кафка продюсер отправить сообщение истекающий дуэт 30003 мс прошло с момента последнего Append

 producer.send(record, new Callback() { 
     @Override 
     public void onCompletion(RecordMetadata metadata, Exception e) { 
      if (e != null){ 
       System.out.println(e.getMessage()); 
      } 
     } 
    }); 

Producer с Конфигурация: timeout.ms=30000, linger.ms=5, batch.size=1000

Получили следующее сообщение об ошибке:

Освобождающиеся 1 запись (ы) для testtopic-2 из-за 30004 мс прошло с тех пор last append

Но это сообщение об ошибке появилось иногда. Иногда производитель может работать хорошо.

+0

Просто увеличьте значение тайм-аута ... от 30000 до 60000 (например) –

+0

Я попытался установить timout.ms = 60000, он все еще имеет такое сообщение об ошибке, даже задает таймауты = 180000, сообщение об ошибке все еще существует. – PemanZ

+0

Попробуйте увеличить пакет batch.size. – amethystic

ответ

-1

При создании потребителя установите ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG на номер true.
Это решит проблему.

+0

Вопрос относится к производителю, а не к потребителю. – caeus

Смежные вопросы