我使用的是 Flink 1.12.0,我有一个关于端到端一致性保证的 Flink 2PC 机制的问题。
在checkpoint开始时,开启一个事务,成功完成checkpoint后提交事务。
如果失败了怎么办?我认为打开的事务应该回滚?当事务回滚时?谢谢。
答案 0 :(得分:1)
因为操作符和任务管理器分布在一个集群中,所以 Flink 必须确保所有组件都一致才能声明提交成功。正如您所说,Flink 使用 2 阶段提交协议,并带有预提交。正如 documentation
上所说,预提交是在检查点期间处理失败的关键 <块引用>当检查点屏障通过所有操作符并且触发的快照回调完成时,预提交阶段结束。