【问题标题】:Kafka 8.2.2 Dynamic Topic drops first eventKafka 8.2.2 动态主题删除第一个事件
【发布时间】:2016-05-28 08:24:16
【问题描述】:

编辑:我也看到了与 Kafka 9 Consumer API 完全相同的行为。

我有一个简单的 Kafaka 8.2.2 Producer,其启用主题创建属性设置为 true。当创建一个不存在主题的事件时,它将创建一个新主题,但创建该主题的事件并没有在 Kafka 中结束,并且返回的 RecordMetadata 没有错误。

    public void receiveEvent(@RequestBody EventWrapper events) throws InterruptedException, ExecutionException, TimeoutException {
    log.info("Sending " + events.getEvents().size() + " Events ");
    for (Event event : events.getEvents()) {
        log.info("Sending Event - " + event);
        ProducerRecord<String, String> record = new ProducerRecord<>(event.getTopic(), event.getData());

        Future<RecordMetadata> ack = eventProducer.send(record);
        log.info("ACK - " + ack.get());
    }

    log.info("SENT!");
}

我有一个程序可以轮询新主题(我对 Kafka 8 中的动态/正则表达式主题代码不满意),它找到新队列并订阅,它确实看到了后续事件,但从来没有看到第一个事件.

我还尝试了 kafka-console-consumer 脚本,它看到的完全一样。第一个事件从未见过,然后事件开始流动。

想法?

【问题讨论】:

    标签: java apache-kafka


    【解决方案1】:

    原来有一个属性可以设置props.put("auto.offset.reset","earliest");

    在设置后,消费者确实会收到关于该主题的第一个事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-17
      • 2014-08-08
      • 2019-07-07
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      相关资源
      最近更新 更多