【发布时间】:2020-05-25 08:44:08
【问题描述】:
我在使用 KafkaConsumer.poll(duration timeout) 时遇到困难,其中它无限期地运行并且永远不会退出该方法。了解这可能与连接有关,有时我看到它有点不一致。如果 poll 停止响应,我该如何处理?下面给出的是来自 KafkaConsumer.poll()
的 sn-ppublic ConsumerRecords<K, V> poll(final Duration timeout) {
return poll(time.timer(timeout), true);
}
我从这里调用上述内容:
Duration timeout = Duration.ofSeconds(30);
while (true) {
final ConsumerRecords<recordID, topicName> records = consumer.poll(timeout);
System.out.println("record count is" + records.count());
}
我收到以下错误:
org.apache.kafka.common.errors.SerializationException: 错误 在偏移量 2 处反序列化分区的键/值。如果 有需要,请寻找过去的记录继续消费。
【问题讨论】:
-
如果它确实永远不会返回,您能否获取线程转储并查看您的线程在哪里?
-
请出示您的消费者财产的minimal reproducible example
-
我在上面添加了线程转储和我得到的错误
标签: apache-kafka kafka-consumer-api producer-consumer consumer