![](/img/trans.png)
[英]Kafka Failed to rebalance when PROCESSING_GUARANTEE_CONFIG set to EXACTLY_ONCE
[英]Kafka Streams with processing.guarantee set up to EXACTLY_ONCE issue
我正在开发一个在我的系统上有 3 个(dockerized)kafka 代理的开发环境。 代理将 transaction.state.log.replication.factor 设置为 3。
在流应用程序配置中,我将 processing.guarantee 设置为 EXACTLY_ONCE,在消费者应用程序配置中,我将隔离级别设置为“read_committed”。
我已经在https://docs.confluent.io/current/streams/developer-guide/config-streams.html#processing-guarantee上检查了其他配置,并根据指南设置了我的环境。
从流应用程序读取状态存储并使用 context.forward(..) 函数生成 100 条消息一分钟后,消费者应用程序停止读取,就好像分配的分区上没有任何提交的消息一样。
一段时间后,流应用程序崩溃并出现以下错误:
“由于致命错误 org.apache.kafka.common.errors.ProducerFencedException 导致生产者批次中止:生产者尝试使用旧时代进行操作。要么有一个具有相同事务 ID 的新生产者,要么生产者的交易已被经纪人过期.”
似乎流生产者无法收到确认并且交易过期。
编辑 1:当我停止流应用程序时,消费者收到提交的消息。
推进Kafka服务器和客户端版本似乎解决了问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.