首页 文章

自上次追加以来,Kafka制作人发送的消息到期时间为30003毫秒

提问于
浏览
4

我正在使用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());
            }
        }
    });

制作人配置: timeout.ms=30000, linger.ms=5, batch.size=1000

收到以下错误消息:

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

但有时会出现此错误消息 . 生产环境 者有时可以很好地工作 .

2 回答

  • 0

    假设一个主题有100个分区(0-99) . Kafka允许您通过指定特定分区来为主题生成记录 . 面对我试图生成分区> 99的问题,因为经纪人拒绝这些记录 .

    很可能你的主题(testtopic)有少于3个分区,你试图生成testtopic-2 .

  • -3

    创建使用者时,将 ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG 设置为 true .
    这将解决一个问题 .

相关问题