我的理解是超过kafka transaction timeout时间重启flink任务才会发生未提交数据丢失的情况, kafka不会无限期的保存未提交事务数据。 正常情况下的flink重启是不会出现数据丢失的。

在 2021/12/31 11:31, zilong xiao 写道:
看官方文档中有介绍说当kafka事务超时时,可能会出现数据丢失的情况,那就是说,Flink没办法完全保证端到端exactly
once是么?想请教下社区大佬,我这么理解是正确的吗?一直都听说Flink 写kafka是可以保证端到端exactly once的,看到文档描述有点懵

文档地址:
https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/datastream/kafka/#kafka-producers-and-fault-tolerance

关键字:"If the time between Flink application crash and completed restart is
larger than Kafka’s transaction timeout there will be data loss (Kafka will
automatically abort transactions that exceeded timeout time)."

回复