2017-02-13 57 views
2

我使用的是卡夫卡0.10.1.1和寫一個測試生產已經過去了,但我得到了producer.sendonCompletion回調的錯誤:卡夫卡生產者發送消息到期二人到30003毫秒自去年追加

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

生產商,配置:timeout.ms=30000, linger.ms=5, batch.size=1000

得到了以下錯誤消息:

到期爲testtopic-2由於30004毫秒1個結果(一個或多個),因爲已通過最後追加

但是這個錯誤信息有時候纔出現。製片人有時可以很好地工作。

+0

只是增加超時值...從30000到60000(例如) –

+0

我試着設置timout.ms = 60000,它仍然有這樣的錯誤信息,甚至設置超時= 180000,錯誤信息仍然存在。 – PemanZ

+0

嘗試更大的batch.size。 – amethystic

回答

-1

當您創建使用者時,請將ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG設置爲true
這將解決問題。

+0

這個問題是指生產者,而不是消費者。 – caeus

相關問題