备用任务不将更新写入 .checkpoint 文件
Standby tasks not writing updates to .checkpoint files
我有一个 Kafka Streams 应用程序,它配置为为每个任务创建 1 个备用副本。我有两个应用程序实例 运行。当应用程序启动时,应用程序会为其负责的每个分区写入 .checkpoint 文件。它为活动和备用任务拥有的分区写入这些文件。
发送新的 Kafka 事件以供应用程序处理时,包含该分区活动任务的实例会更新 .checkpoint 文件中的偏移量。但是,第二个实例上备用任务的 .checkpoint 文件永远不会更新。它保持在旧的偏移量。
我相信这导致我们看到在重新平衡时抛出 OffsetOutOfRangeEceptions,这导致任务被拆除并从头开始创建。
- 我认为 应该 为 备用任务和活动任务中的分区编写偏移量是否正确?
- 这是否表明我的备用任务没有消耗,或者它是否纯粹无法写入偏移量?
- 知道是什么导致了这种行为吗?
流版本:2.3.1
此问题已在 Kafka 2.4.0 中修复,它解决了以下错误 issues.apache。org/jira/browse/KAFKA-8755
注意:该问题看起来只影响配置为 OPTIMIZE="all"
的应用程序
我有一个 Kafka Streams 应用程序,它配置为为每个任务创建 1 个备用副本。我有两个应用程序实例 运行。当应用程序启动时,应用程序会为其负责的每个分区写入 .checkpoint 文件。它为活动和备用任务拥有的分区写入这些文件。
发送新的 Kafka 事件以供应用程序处理时,包含该分区活动任务的实例会更新 .checkpoint 文件中的偏移量。但是,第二个实例上备用任务的 .checkpoint 文件永远不会更新。它保持在旧的偏移量。
我相信这导致我们看到在重新平衡时抛出 OffsetOutOfRangeEceptions,这导致任务被拆除并从头开始创建。
- 我认为 应该 为 备用任务和活动任务中的分区编写偏移量是否正确?
- 这是否表明我的备用任务没有消耗,或者它是否纯粹无法写入偏移量?
- 知道是什么导致了这种行为吗?
流版本:2.3.1
此问题已在 Kafka 2.4.0 中修复,它解决了以下错误 issues.apache。org/jira/browse/KAFKA-8755
注意:该问题看起来只影响配置为 OPTIMIZE="all"
的应用程序