bootstrap.servers和group.id,所有默认设置。首先,我的一个消费者遇到以下异常。
Confluent.Kafka.KafkaException: Broker: Specified group generation id is not valid
at Confluent.Kafka.Impl.SafeKafkaHandle.Commit(IEnumerable`1 offsets)
at Confluent.Kafka.Consumer`2.Commit(IEnumerable`1 offsets)
Run Code Online (Sandbox Code Playgroud)
异常被捕获,消费者应该重试,但应用程序却处于空闲状态。容器仍在运行,但不再消耗任何消息。
更奇怪的是,代理从不重新分配消费者的分区,因此消费者在这些分区上的滞后开始增长。消费者似乎既活着(因为代理没有重新分配其分区)又死了(因为它无法提交其偏移量或消耗更多消息)。如果我们干预并手动重新启动消费者,那么分区将被重新分配,情况将恢复正常。
我不完全确定如何处理上述异常。谷歌提供的不多。我拥有的最相关的线索是GitHub 中的这个问题,它涉及代理重启。据我所知,在我的情况下不会发生这种情况。任何帮助将不胜感激。
小智 -2
至少我已经找到了适合我的解决方案。在我的代码中,我手动提交并设置了EnableAutoCommit = false.
不知何故,对于一个偏移量,提交可能被执行两次。我删除了消费者上的手动提交并设置了EnableAutoCommit = true.
之后就成功了。
| 归档时间: |
|
| 查看次数: |
1069 次 |
| 最近记录: |