自上次追加以来,卡夫卡生产者发送的消息已过期 30003 毫秒

Pem*_*anZ 5 producer apache-kafka

我正在使用 Kafka 0.10.1.1 并编写一个测试生产者,但在producer.send onCompletion回调中出现错误:

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

带有配置的生产者: timeout.ms=30000, linger.ms=5, batch.size=1000

收到以下错误消息:

自上次追加以来,由于 30004 毫秒,testtopic-2 的 1 条记录已过期

但是这个错误信息只是有时出现。制片人有时可以工作得很好。

sse*_*sse -4

创建消费者时,设置ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIGtrue
这样就解决了一个问题。