esq*_*rer 10 go apache-kafka librdkafka confluent-platform
当消费者在 5 分钟内(默认值 max.poll.interval.ms 300000ms)没有收到消息时,消费者会停止而不退出程序。消费者进程挂起,不再消费任何消息。
记录以下错误消息
MAXPOLL|rdkafka#consumer-1| [thrd:main]: Application maximum poll interval (300000ms) exceeded by 255ms (adjust max.poll.interval.ms for long-running message processing): leaving group
Run Code Online (Sandbox Code Playgroud)
我看到在 confluent-kafka-go 中ErrMaxPollExceeded定义了它,但无法找到它在哪里被提出。
如果出现任何此类错误,为什么程序不退出?
用于 kafka.Consumer 的配置
{
"bootstrap.servers": "private.kafka.host",
"group.id": "foo.bar",
"auto.offset.reset": "earliest",
"enable.auto.commit": false,
}
Run Code Online (Sandbox Code Playgroud)
看起来这是向 confluence-kafka-go 客户端报告的问题:https://github.com/confluenceinc/confluence-kafka-go/issues/344
它被标记为已通过此更改解决,该更改应在 librdkafka 版本 1.1.0 中发布:https://github.com/edenhill/librdkafka/commit/80e9b1ee0c0e477c02f18b130c4302240711a88d
看起来这个更改也应该在 confluence-kafka-go 版本 1.1.0 中发布:https://github.com/confluenceinc/confluence-kafka-go/tree/v1.1.0
该问题中的一些评论仍然报告说这是版本 >1.1.0 上遇到的问题。
评论者提出了一种解决方法:
使用 v1.5.2。还在无限循环中调用 ReadMessage(-1),并且在消费者离开组后没有看到重新加入,通过将超时设置为小于 max.poll.interval.ms 而不是 -1 来解决这个问题,但想知道为什么它没有重新加入预期的。
https://github.com/confluenceinc/confluence-kafka-go/issues/344#issuecomment-745014864
| 归档时间: |
|
| 查看次数: |
3941 次 |
| 最近记录: |